I, Kean Lau, do solemnly offer these my responses to The Road to Lisp Survey:
When did you first try Lisp seriously, and which Lisp family member was it?
I think it was around the middle of 2004 I decided to learn Common Lisp as a hobby. Since then I've also been using Scheme.
What led you to try Lisp?
At the time I was working and had just finished studying part-time, so I then had some spare time after work to persue some hobbies. I've always been interested in different programming languages and somewhere while browsing on the net I came across a quote from Eric S. Raymond about Lisp being an enlightening experience and making you a better programmer even if you don't use Lisp a lot. That sounded too enticing so I bought the ANSI Common Lisp book by Paul Graham and started learning.
What other languages have you been using most?
At work I had been using Java and currently using C++. For scripting I've used a fair bit of Perl, Ruby & Bourne Shell.
At uni I was taught C & Haskell and I did some coding in those languages. In my spare time I've also learnt MIPS assembly.
How far have you gotten in your study of Lisp?
Having gotten past the introduction text books, I'm currently working on some open source projects written in Common Lisp (check out the System Analyser project on Cliki). I've also become quite interested in the implementation of Lisp-like languages and had a good read of Lisp in Small Pieces by Christian Queinnec. I'm currently in the middle of writing a low-level Lisp compiler and a Scheme compiler and learning how to embed Prolog in Common Lisp (I highly recommend On Lisp).
What do you think of Lisp so far?
Well if we look at what a development platform needs in order to create production systems, we have:
Lisp truly excels at item 1 (better than any other high-level language in my opinion), but is really poor at all the other items. Ironically the 2 most popular languages at the moment, Java & C#, are the exact opposite (poor at item 1, and excellent at the rest). If we want Lisp to become more widely used we need to work really hard on items 2 to 6.
Lisp as a language though is amazing. For me what is special about it is it's meta-programming abilities, the high-level general purpose programming features are for me just a side feature. There's no other language around that is able to embed domain specific languages so well.
Having said that though, Lisp despite its meta-programming capabilities still isn't suitable for a large class of software. I wouldn't write an operating system, system programs or a garbage collector in Lisp, hence my attempt at writing a low-level Lisp compiler to fill this hole.
RtL comp-lang-lisp | RtL Paul Graham | RtL Peter Norvig | RtL Richard Gabriel | RtL Eric Raymond