When did you first try Lisp seriously, and which Lisp family member was it?
I have tried Lisp a few times over the years. The first time was back in 1988 or so, with an early version of KCL for a programming assignment in college. After the assignment was done, I promptly forgot everything and went back to C. In 1990 or so, I bumped into Scheme and did a little programming with that. I liked Scheme's clean, regular design. Finally, in 2003, I bumped into Paul Graham's web site and read his essays about CL and what made it so great. I quickly found Pascal Costanza's "Highly Opinionated Guide to Lisp" (here) which helped reinforce the fact that Paul Graham isn't just a solo nut-case, but may really be on to something (and with a title like that, how could you not read it). I took the plunge in January 2004 to learn CL seriously. I think it has stuck.
What led you to try Lisp?
The biggest thing that led me to try Lisp was the promise of being able to work at higher levels of abstraction using macros and designing problem-specific "languages" on top of Lisp. Most programming languages give programmers some level of abstract tools with which to decompose problems. The Lisp difference is that where other programming languages have a fixed set of abstractions available to the programmer, Lisp allows the programmer to create his own set of new abstractions. For instance, I love the fact that CLOS is developed on top of Lisp. The fact that it is standardized along with the rest of CL is great, but the fact that it could have been built by a user programmer reveals a lot about how adaptable Lisp is.
What other languages have you been using most?
I have been programming for 25 years in a variety of languages. Over the years, I have used (in rough order of learning): BASIC, assembly language, Pascal, FORTH, C, Fortran, CL (the first round with KCL), Scheme, C++, Perl, Java, and now CL (for good). The last seven years have been spent mostly with Java, which I actually enjoy relative to most all those other languages. Fortran and Perl just make me woozy.
How far have you gotten in your study of Lisp?
I have gotten through most of the basic material on the web, having read lots of online books and tutorials. I have started doing some basic programming projects, including the design of a simple macro to at least convince myself that what people are saying is true. I still find myself going back to the hyperspec and CLtL2 a lot because I don't have all the standard functions memorized yet. I'm way past the parenthesis that people seem to find daunting (really, people, with emacs they are no big deal).
What do you think of Lisp so far? Lisp seems to have it covered. I mean, most of the claims I have read seem to be true. I haven't spent enough time with the language to find all the problem spots, but it seems to deliver on PG's and other's claims. If there is one thing that distinguishes Lisp, it's the fact that it "scales up." That is, like a fractal or a recursive function, Lisp is recursive itself, in its language design. And this makes all the difference. You can built on top of Lisp, and the thing you build isn't a separate thing, divorced from Lisp. Rather, it's an extension that fuses perfectly with Lisp underneath. What does this mean? It means that you can develop extensions to the language at any time and these extensions can be mixed in with vanilla Lisp programming to deliver incredible efficiencies and power. This is sort of like a using a standard library in another language, but with far greater impact. A standard library can provide a set of functions that you can call. Only a Lisp macro can actually create new language syntax. If you have never tried it, do; you'll thank yourself later.