William Maddox
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