When did you first try Lisp seriously, and which Lisp family member was it?
Earlier this year.
What led you to try Lisp? Well, like most people into lisp I've spent many years in the traditional languages like C++, Pascal, Java, lots of assembly too. I had a particular fascination with the C++ template system and its promise of more programmer produtivity through "generic programming". Over and over again I heard references to "functional programming" as being the foundation for the STL template libraries- Also, Bjarne said in several interviews that he thinks most of the "interesting new ideas" in programming were coming from the functional programming community. So I thought it would be wise to learn a functional language to get a feel for what it had to offer.
Searching the web, I got the feeling that Haskell was getting the most raves as a combination of power and elegant design, so I chose Haskell and indeed became comfortable with FP. I worked my way through Hudak's "The School of Expressions" and found it quite good except a couple of chapters in the middle which were just completely incomprehensible (basically simulating types using function objects and operator overloading) that involved the difficult task of making a pure functional language "interactive". I could not understand why this code was designed the way it was, and unfortunately didn't get the feeling like the authors really had a good handle on their architectural design strategies either. So I went back to C++ for a while, assuming FP was not a practical goal.
Then I read some articles by PG that described Lisp and they seemed to give solutions to all the struggles I had with making Haskell work for me- PG basically showed how you could take FP scientific mumbo-jumbo and turn it into clear, practical code with the help of macros.
How far have you gotten in your study of Lisp?
I would say I know about 60% of the commands, and about 95% of those that are relevant for a FP approach and not low-level. I know most of the material in "On Lisp" and PG's "ANSI Common Lisp" by heart.
What do you think of Lisp so far?
Whenever one wants to learn things in any domain, it is usually wise to do two things:
1. Familiarize oneself with the basic high-level concepts in that domain 2. Checking what concepts are the most popular in that domain
Using the combination of these two approaches, you can usually get a good handle on "whats important" whether it is in cooking, rock music, mountain climbing.
However, if the domain is "Programming", this approach is utterly useless, because I think Lisp is so amazingly awesome and there is NO WAY you can learn about Lisp using this standard approach- Because ALMOST NOBODY uses Lisp, and understanding why it is such a perfect family of languages requires intense study and is very, very difficult to articulate even to other programmers who have decades of experience under their belt.
I think the lack of popularity of Lisp among programmers is baffling and incredibly unfortunate.
Switch Date 2003
RtL comp-lang-lisp | Seek and Ye Shall Find | RtL Greenspun's Tenth | RtL Paul Graham | RtL Bjarne Stroustrup