Nonya B

The Road to Lisp Questions I, Nonya B, do solemnly offer these responses to The Road to Lisp Survey:

When did you first try Lisp seriously?

I started reading lisp books about two years ago. I've experimented with lisp, although I've never done anything "serious".

Which Lisp did you try?

CMUCL within emacs and ilisp.

What let you to try Lisp?

I'm a long time emacs user. I have built some[1] emacs extensions and enjoyed interacting with elisp. I found making incremental changes and immediately testing them both enjoyable and productive.

Two books also motivated me to learn lisp. "The Pragmatic Programmer" by Hunt and Thomas - a "mom and apple pie" book - recommends learning a new language a year. I also picked up Graham's "OnLisp" and loved it; apart from explaining why macros are so powerful, it's a good read.

[1] (in my ~/emacs directory: cat *.el | grep def | wc returns 157)

If you were trying Lisp out of unhappiness with another language, what was it and what did you not like about it, or what about Lisp were you hoping to find different?

I did not come to Lisp from unhappiness. I spend most of my day programming C++. I *enjoy* working with C++. However, you asked what I don't like about it. Here's some off the top of my head:

What other languages did you look at besides Lisp, and what did you think of them?

I am interpreting this question to mean "What languages have you learned that you thought were interesting, but you didn't have an immediate use for."

  1. J. This is an array-oriented language by Ken Iverson (of apl fame) and Roger Hui (programming wizard). J is great. The interaction language of my current project - an image processing spreadsheet - is called 'I' and it borrows heavily from J (although phrases are parsed left to right instead of J's right to left - and please don't write to tell me why right to left is superior; I do understand the arguments).

  2. Ruby. This is a nice clean language. The 'yield' statement is well done. However, I already know both Perl and Python, and although I read the Ruby book by Thomas and Hunt I don't see it as worth switching.

  3. Python. Python's big win is it's ability to be embedded its interpreter. The boost python library makes embedding python in C++ trivial. In my opinion, embedding is python's big win.

How far have you gotten in your study of Lisp?

I've ready several good books (I've actually read more about Lisp than I've programmed).

What do you think of Lisp so far?

Wish list:

Allow me to easily embed lisp in a C++ app. Let the C++ app drive.

[3] I just chased someone away from lisp with that code, didn't I. Maybe I shouldn't include something so unreadable. Maybe it's hard to read that function in Lisp, but the point is it can't even be done in another language! And I'm a novice - there may be a more readable way to express this function).

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively