Kenny Tilton's Road to Lisp

I, Kenny Tilton, do solemnly offer these my responses to The Road to Lisp Survey:

When did you first try Lisp seriously?

1995 or '96. My initial interest in programming when I went shopping for my first computer in 1977 was artificial intelligence, so of course I heard about Lisp, and when I ran across a Lisp 1.5 Manual in one geek shop I snagged it. But I could not make any sense out of it.

Fast forward five years and now I am a VAX/VMS consultant doing business apps in tall buildings, and while reading some geek rag I am stunned to see Lisp listed as a 4GL based on the 4GL definition of being an order of magnitude more productive than a 3GL. This was strange because 4GLs generally created (the illusion of) greater productivity with screen builders and a super high level (hence inflexible) language with database stuff done for you. And I knew Lisp was not like that. But I just filed this data point away and went on with my life.

Five more years later and I decide to write a program which could check intermediate steps of arbitrary first-year high school algebra problems, as part of a tutorial. I see Microsoft (!) offers a Logo, and I remember the 4GL data point and decide what the hell, let's learn a new language at the same time.

I loved it, and went amazingly far with Logo on the tutorial before realizing it would have to be ported to "C" -- a most unpleasant exercise. And it was then another ten years before I found my way out of the desert and back to Lisp.

Which Lisp did you try?

Common Lisp. Digitool's MCL, to be specific.

What led you to try Lisp?

I was looking for A Better Way than "C" for version two of my algebra tutorial application. I knew I wanted OO because I could see in my C code that I was using structs in an OO kinda way. I also knew I wanted a dynamic, interactive development environment. And it had to run on the Mac, where I made most of my sales.

The first thing I tried was Stoney Ballard's Component Workshop, a brave attempt at a dynamic C++. Never even got to "Hello world", then Stoney gave up. When i got Symantec C++ (I had used it when it was Michael Kahl's Think C) I freaked out when I saw incremental linking was gone and every edit-run cycle now included a twenty second link from scratch. Also I was just appalled by C++ the language.

Next up was SmalltalkAgents from Quasar Knowledge Systems. QKS kept saying how great they were and how great they were going to be. Perhaps, but not by crashing my Mac every five minutes.

I then announced on Compuserve's MACDEV forum that I was giving up and was going to use C++, when a kind soul from Cambridge, Mass suggested I look at MCL. He said it was compiled, fast, mature, object-oriented and a few other things.

Well the amazing thing was that I had been skipping MCL ads in the Apple Developer association catalog for months, because of my earlier experience with Logo. I had no idea of the progress in Lisp compilers.

I also had come incredibly close when I got the pre-alpha Dylan CD from Apple Computer and played with that. Dylan was being developed for Apple by Digitool, and it ran atop (ait for it) Macintosh Common Lisp! Who knew?

But having read the message from Cambridge, I promptly ordered a copy of MCL. It came a few days later, and just while assembling the manual pages into a binder I concluded I had found The One. I gave the install CD to my two developers, told them to dump QKS, then ordered two more copies to stay honest.

The next few weeks involved everyone taking turns running to each others' desk to show them neat new features we'd just discovered, and I have never looked back.

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 wanted a dynamic development modality, no linker especially. And an end to pointers and dereferencing and manual memory management. ie, I was looking for a better way than C, and when I looked at C++ I did not find it.

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

Well, it's been seven years, so as an application developer I am fluent.

What do you think of Lisp so far?

Perfect. Whatever it does not do, macros let me coax from CL. Being able to restart from a backtrace after hours of debugging (or while trying twenty things a minute apart to get something working) is an enormous win. CLOS is unspeakably powerful. A simple thing like special variables is magnificent when you really need them. Of course garbage collection is a stupendous win. The speed is crucial. Multiple inheritance and multi-methods are vital.

One thing a lot of newbies experience, as did I, is that when I go to find out how some function works, it always turns out to work just the way I happen at that time to expect or want or need it to. Clearly Common Lisp is the product of a long history of refinement by good engineers with a strong ethic of doing things right.

And if you have to know, lawdy, i never want to edit without parentheses again. When reworking code, the code tree is perfect for moving chunks of semantics around. And the autoindentation is a significant time saver. I refactor a lot, and thus a lot of time in other languages goes into tediously realigning code.


Switch Date 1990s | Seek and Ye Shall Find | RtL Word of Mouth

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 Pallister's road to Lisp 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 KevinZzz 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