I,
William Maddox, do solemnly offer these my responses to
The Road to Lisp Survey:
When did you first try Lisp seriously?
In the fall of 1980, sophomore year in college.
Which Lisp did you try?
I used both UCI Lisp and MacLisp in two different courses. I believe
both of those dialects are long forgotten now. Following that, I mostly
used Spice Lisp, a project of the CMU CS department that tracked the drafts
of the then-emerging Common Lisp standard. (Spice Lisp eventually
became CMUCL.)
What led you to try Lisp?
Lisp was part of the assigned classwork, but I had heard about Lisp much
earlier (read about in Byte magazine in high school) and was eager to learn
it. Lisp was very big at CMU when I was there.
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 had been using Pascal previously, and was happy enough with it for what
it was good for, but Lisp was at that time the language of AI, which interested
me greatly, particularly for natural language processing. Guy Steele was
teaching at CMU at the time, and gave me a copy of the "Scheme Papers", a set
of technical reports he had written while a student. They were an epiphany,
and showed me how beautiful Lisp really was.
How far have you gotten in your study of Lisp? (I know, that is hard to measure)
As a student, I was a part-time programmer on the Spice Lisp project, and
wrote a bit of the code for FORMAT and the floating-point printer.
I have used both Common Lisp (Spice Lisp, Allegro) and various versions of
Scheme (mostly the Yale 'T' system) for a number of academic projects, including my M.S. and Ph.D. research. It has always been my "favorite"
language, especially for trying out new ideas, or trying to wrap my brain
around some abstract algorithm in a book or paper by coding up a concrete
instance of my own to play with.
What do you think of Lisp so far?
Lisp rocks! I am not quite so enamored of dynamic typing as some folks
seem to be, however. Sometimes it is good, particularly for experimentation
and quick one-offs, but when building larger systems in Lisp, I think that
static typing, with a sufficiently powerful (polymorphic) type discipline,
is a good thing. My next language epiphany after Lisp was ML, though on
balance, I prefer Lisp for real work -- Lisp macros and the metaprogramming
paradigm is very powerful, and nothing does it better than Lisp (though
I devoted my M.S. work to an attempt to integrate Lisp-style macros with
static typing).
Switch Date 1980s RtL Language Curiosity RtL Douglas Hofstadter