John Pallister's road to Lisp

I, John Pallister, do solemnly offer these my responses to The Road to Lisp Survey:

1. When did you first try Lisp (meaning here and throughout the survey "any member of the Lisp family") seriously, and which Lisp family member was it?

As part of the Knowledge Engineering course in the final year of my undergrad Electrical Engineering degree (University of Canterbury [New Zealand], 1991). We did assignments in Scheme (implementing a basic backpropagation neural network, thereby killing two birds with one stone), Prolog etc.

Thereafter I used C++ pretty much exclusively: writing distributed simulations for my Master's, then application development (mainly for Windows). I learned Java and then Python on the way, and the latter re-introduced me to the power of lambda.

Skip forward to 2002...

As for which Lisp family member I'm using now, it's Corman Common Lisp. It's fast, cheap, ANSI compliant, well-supported, comes with full source, and runs on the vast majority of the world's computers; AFAIK, it's the only Lisp that meets all those criteria. (Like I'd know.) The only thing wrong with it is that it doesn't work with ILISP very well (or indeed at all, in my experience).

2. What led you to try Lisp?

After leaving a lucrative contracting job in Amsterdam to come back to Wellington, NZ and pursue my "masterpiece", it became apparent that neither C++, Java nor Python were going to give me the combination of "exploratory" development and good run-time performance I needed. Since I was (and still am) learning everything as I went, I needed a language that supported a very "flexible" development style, and the prototypes I was building in Java were just too brittle.

Going in search of a better language, I soon found Paul Graham's site, and his arguments convinced me that Lisp really was The One True Way. It's the macros, of course. As he explained in On Lisp, the ability to grow and extend the language quite so seamlessly in the direction of the solution meant, for me, that (a) I didn't have to design large pieces of the solution up-front so that it could be implemented coherently, and (b) because the Lisp REPL could be a part of the final system, that system could be massively more powerful as a result.

My decision to go with Lisp has since been validated, I think, by the way the whole code-is-data idea has permeated my entire design and allowed me to imagine a system far more subtle, complex and yet conceivably implementable than anything I could see myself writing in C++, Java or any other language. And it still runs as fast, compiled native code! From the REPL!

3. If you were trying Lisp out of unhappiness with another language, what was that other language and what did you not like about it, or what were you hoping to find different in Lisp?

IMHO, C++ and Java are fine if one knows what one is trying to build and how one going to build it. Particularly if you're writing a fairly straightforward application to perform a well-understood task. If however you're "feeling your way" towards a rather vague and nebulous solution, you're going to spend an awful lot of time either restructuring big chunks of code or rewriting stuff from scratch.

Python (and all the other, newer and "better" languages that I haven't tried) is certainly an improvement, but if you're looking for a better language, why not go with the best one you can find?

4. How far have you gotten in your study of Lisp? (I know, that is hard to measure)

That is hard to say. I do like the way that, like C++, Lisp supports multiple paradigms, so you can mix imperative, functional and OO styles to suit the moment. This means that a lot of the concepts are already familiar, and so I'm quickly writing useful software even though I haven't mastered Lisp in any sense.

I've read through Graham's two books, and started SICP and Peter Norvig's PAIP (although I haven't opened them lately - who has time?). I own Queinnec's Lisp in Small Pieces, although I don't think I'll be tackling that for a while.

I appreciated reading the Tutorial on Good Lisp Programming Style by Norvig and Pitman. I need to persevere with the textbooks in order to be exposed to more good style, but finding time is a challenge.

5. What do you think of Lisp so far?

Believe the hype. Lisp kicks arse.

On the other hand, I agree with Paul Graham's idea that developing in Lisp represents a competitive advantage, so I don't care whether the rest of the programming world "sees the light" anytime soon. ;)


Switch Date 1990s RtL Formal Education Seek and Ye Shall Find RtL Paul Graham

This page is linked from:

Kenny's RtLS Top-Ten RtL Highlight Film

Other pages sharing this page's categories:

Abhijit Rao Albert Krewinkel's Road to Lisp Alejandro Guillen Road to LISP Alexander Lehmann's Road to Lisp AlexPeake AlexTibbles Andrew Jones-Gonzales's Road to Lisp Andrew Main's Road to Lisp Andrew Philpot's Road to Lisp Artie Gold's Road to LISP Arto Bendiken's Road to Lisp August Sigov's Road to Lisp Ben Holm's Road to Lisp Bill Birch's Road to Lisp Bob Bane's Road to Lisp Bob Bechtel BobHutchison Brad Beveridge - Road to Lisp Bradford W Miller BradMight Brandon Corfman Brendan Van Horn Brian Mastenbrook - Road to Lisp Brian T. Rice Bruce Durling's Road to Lisp Bruce Woodward's Road to Lisp Bulent Murtezaoglu C E C Artime Charlie McMackin Chris Laux's Road to Lisp Chris Smith's Road to Lisp Chris Sonnack's Road to Lisp Chris Van Dusen Chris-Perkins Christian Lynbechs Road to Lisp Christian Nybø Coby Beck Conrad Barski Constantine Vetoshev Damien Sullivan's Road to Lisp Dan Muller Daniel Barlow's Road to Lisp Daniel Pezely's Road to Lisp DARose Dave Fayram's Road to Lisp Dave Pearson Dave Roberts David Douthitt David Golden's Road to Lisp David Mercer David Rush David Thompson's Road to Lisp Denes Cselovszky's Road to Lisp Dirk Gerrits's Road to Lisp DJ Clark's Road to Lisp Donald Fisk's Road to Lisp Donnie Cameron's Road to Lisp Doug Tolton's Road to LIsp Drew Crampsie Drew McDermott Duane Rettig's Road To Lisp Edi Weitz' Road to Lisp Eduardo Muñoz Emre Sevinc Erann Gat's Road to Lisp Eric Hanchrow Erik Enge's Road to Lisp Erik Winkels's Road to Lisp Espen Vestre's Road to Lisp Gabor Melis's Road to Lisp Gareth McCaughan's Road to Lisp Gary King's Road to Lisp Gary Klimowicz's Road to Lisp Geoff Wozniak's Road to Lisp GeoffCant GeoffKnauth George Rogers Road to Lisp Glenn Ehrlich Glenn Ehrlich Road to Lisp Gordon Weakliem Heow's Road to Lisp Hoan Ton-That's Road to Lisp Ivan Toshkov's Road To Lisp Jacek Generowicz James Fleming's Road to Lisp Jeff Shrager's Road to Lisp Jimmy Miller's Road to Lisp Jochen Schmidt's Road to Lisp Jock Cooper Joel Ray Holveck John Sturdy John Williams JP Massar Justin Dubs Justin Heyes-Jones's Road To Lisp Kamen Tomov Karl K.'s Road to Lisp Kean Lau's Road to Lisp Kenny Tilton's Road to Lisp KevinZzz Kristian Sørensen - Road to Lisp Larry Clapp's Road to Lisp Lars Brinkhoff's Road to Lisp Lars Wirzenius Lasse Rasinen Lennart Staflin Louis Theran Mackram Raydan's Road to Lisp Marc Mertens's Road to Lisp Marco Baringer's Road to Lisp Mark Hurd Mark Triggs Mark Wilson MarkBrady Marko Kocic Martin Mikelsons Matthias Benkard's Road to Lisp MattKnox Michael J Forster Michael Naunton's Road to Lisp Mikael Jansson's Road to Lisp Mike Travers Mikel Evins' Road to Lisp Mostafa Razavi's Road to Lisp Myron Wu's Road to LISP Nathan Bloomfield's Road to Lisp Naveen Garg Nick Levine Nicolas Sceaux's Road to Lisp Nikodemus Siivola'a Road to Lisp Nonya B's Road to Lisp Ola Rinta-Koski Ora Lassila's Road to Lisp Pascal Costanza's Road To Lisp Patrick Logan Paul Clevett Paul Foleys Road To Lisp Paul Graham's Road to Lisp Paul Potts Paul Snively PaulKhuong's Road To Lisp Pekka P Pirinen Pete Kirkham Peter Housel's Road to Lisp Peter Lewerin's Road to Lisp Peter Santoro Peter Seibel's Road to Lisp Peter Van Eynde's Road to Lisp Pierre Thierry's Road to Lisp Rainer Joswig's Road to Lisp Ralph Richard Cook Randall Randall's Road to Lisp Reini Urban Robbie Sedgewick's Road to Lisp Robert Marlow Robin Felix's Road to Lisp Robin Kåveland Hansen's Road to Lisp RtL Brian Cully RtL Russell Snow RtLMartinGinkel Sanjay Pande Scott L Burson's Road to Lisp Scott McIntire Scott Michel's Road to Lisp Sean Champ Sebastian Stern's Road to Lisp SimonHeath Sivaram N Slobodan Stephane Belmon's Road To Lisp Steven Harris' Road to Lisp Tage Stabell-Kulø Tayssir John Gabbour's Road to Lisp The Road Jeff Caldwell Took The Road to Lisp Questions Thomas F Burdick's Road to Lisp Thomas M. Hermann's Road to Lisp Thomas Müller Thomas Munro's Road to Lisp Thomas Stenhaug's Road to Lisp Tim Kerchmar TimHaynes Toby Davies' Road to Lisp Tomer Altman tony yelacic VikasGP Vladimir Sedach William Maddox Yuri Niyazov Zach Beane's Road to Lisp Zachery Bir