Steven Harris' Road to Lisp

I, Steven Harris?, 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?

Early 1998, with XEmacs Lisp. More recently, I have been studying and using Common Lisp by way of CLISP since early 2000.

Switch Date 2000

What led you to try Lisp?

I needed to use it to customize XEmacs. At first, I wondered why one was forced to type an incessant sequence of (setq this-variable that-value) expressions just to fix up the editor. "What a strange configuration file format," I thought. And then I read more, sought more examples, and talked to my co-workers, and they grinned as the light slowly came on: This is no mere configuration file; this is a program in a complete programming language. From that point on, I no longer considered XEmacs to be a program I use, but rather as a kit from which I build a constantly evolving set of programs.

I came to Common Lisp after reading various posts on comp.lang.lisp assailing (X)Emacs Lisp as limited and inferior to other dialects. I had understood that Lisp was a category of similar dialects, each trapped within their small worlds, such as (X)Emacs Lisp and AutoLISP. That frustrated me. The productivity and limpid enjoyment in Lisp were obvious, but I regretted not being able to use it to create a "real stand-alone" program. Common Lisp turned out to be answer.

RtL comp-lang-lisp | RtL Emacs Elisp

Where did your road originate?

I came to Lisp from C++, Perl, and a little Python. I like those languages just fine, but none of them rise above their shortcomings so clearly as Common Lisp.

Perl is problematic for its lack of consistency and clarity. I have written some pretty brilliant Perl programs, or at least I think I have, but I can't read them anymore. If one leaves Perl for a while, coming back to it is always an annoying relearning process. It doesn't feel like a language that will last forever. Maybe that's fine, as most of the programs I wrote in Perl were more or less intentionally temporary, but I'd rather choose to throw away my drawings on archival paper than see them disintegrate involuntarily on cocktail napkins.

C++ is problematic for its arcane and limited support for higher-level abstractions. The recent advances in template metaprogramming are amazing but embarrassing; it shouldn't take that kind of abuse to solve problems with elegance. I am slowly coming to see that my approach to programming is changing, and C++ is no longer the best fit. C++ can be twisted in strange ways to do wonderful things, but I am not sufficiently interested in keeping up with the latest baroque hacks to sacrifice that much attention and brain space for little gain. I'd rather move on to a language with more direct support for the rising level at which I wish to think and create.

How far have you gotten in your study of Lisp?

I can write small applications, but stumble over large program organization. My use of the language is narrow; I have yet to employ the condition system, to push CLOS beyond simple types, to make direct use of the reader, or to explore the optimization process.

Familiarity with the larger language will come. None of it looks too daunting to learn. I have been guided thus far more by necessity than interest; when I need more out of Lisp, I will learn more of it.

What do you think of Lisp so far?

I regret not having come to it sooner, and I cannot foresee growing out of it. Lisp is like the best kind of assistant: powerful, enabling, and invisible. The upper limits of complexity lie then in my own mind, not with the language.


This page is linked from:

RtL Highlight Film

Other pages sharing this page's categories:

Abhijit Rao AlexPeake AlexTibbles Andrew Philpot's Road to Lisp Artie Gold'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 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 Dirk Gerrits's Road to Lisp Donald Fisk'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 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 Jochen Schmidt's Road to Lisp Jock Cooper Joel Ray Holveck John Pallister's road to Lisp John Sturdy John Williams Joshua Eckroth JP Massar Justin Dubs Justin Heyes-Jones's Road To Lisp Kamen Tomov Karl K.'s Road to Lisp Kenny Tilton's Road to Lisp KevinZzz Klaus Weidner's Road to Lisp Larry Clapp's Road to Lisp Lars Brinkhoff's Road to Lisp Lars Wirzenius Lasse Rasinen Lennart Staflin Louis Theran 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 Mike Travers Mikel Evins' Road to Lisp Myron Wu'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 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 RtL Brian Cully RtL Russell Snow RtLMartinGinkel Sanjay Pande Scott McIntire Sean Champ Sebastian Stern's Road to Lisp SimonHeath Sivaram N Slobodan 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 Stenhaug's Road to Lisp Tim Kerchmar TimHaynes Tomer Altman tony yelacic VikasGP Vladimir Sedach William Maddox Yuri Niyazov Zach Beane's Road to Lisp Zachery Bir