Michael J Forster

I, Michael J Forster, 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?

Friday, 19 November 2004. I rewrote one of my company's PHP web applications using CMUCL and Portable AllegroServe. Later that evening, using CLISP, I rewrote thirteen shell and Perl scripts we had been using to manage servers for our clients. There was no turning back. By Spring of 2005, my business partner and I had settled upon LispWorks for our cross-platform Linux, Unix, OS X, and Windows application development.

What led you to try Lisp?

Ultimately, discontent.

Discontent with the tedious and disjointed development pattern induced by lengthy write-compile-run cycles. Discontent with new languages trading one set of shortcomings for another. Discontent with having to use more than half a dozen of them to achieve sufficient coverage for all of my work. Discontent with innovation in development environments consisting of little more than new toolbars and context-sensitive pop-ups. Discontent with OOP, as realised in C++ and Java, becoming an end in and of itself. Discontent with bookstore shelves filled with books proselytising the half-baked arcanum of this month's version of Java and C#. Discontent with not finding a copy of The Art of Computer Programming on those same shelves. Discontent with PHP as the alternative to Java or .Net for developing web applications (and ill at the thought of not having an alternative).

Fortunately, I had recently read some of Paul Graham's essays and recalled his references to Lisp and Viaweb. From there, it was a very short road to Lisp.

What other languages have you been using most?

I started my career fourteen years ago writing system and application code in assembly, C, and C++. As I moved into the web application and system administration markets, I began to spend more time writing in PHP, Perl, Python, VB, Java, SQL, and the Unix shell.

As a former biologist, I have always appreciated Perl's capacity to evolve to fill new niches. However, the limitations of its syntax were clear. Python promised much of Perl's flexibility with greater clarity, but still there were arbitrary dead-ends. Java... Java felt like an insult to my intelligence. My business partner tried Borland Delphi for one project, but it only added to our language fragmentation concerns.

Regardless of the language, I struggled to write programs in a Lisp-like fashion without even knowing it. Function tables and pointers predominated my designs. I patiently coaxed C pre-processor macros and C++ templates into doing things I was too naive to realise they shouldn't. I sought data-based solutions wherever possible, preferring SQL's set transformation power over procedural tedium of C, Perl, and PHP.

How far have you gotten in your study of Lisp?

I first skimmed Paul Graham's online copy of On Lisp and started following c.l.l. Shortly thereafter, I purchased and started reading Peter Seibel's Practical Common Lisp and David B. Lamkins's Successful Lisp. Excellent literature and discussions.

By no means a Lisp guru, I am, however, using Lisp for some production development and all Unix system administration. Admittedly, at this point, I am using Lisp as little more than a better C/PHP/Perl/shell, but every day I see new opportunities to write code in ways I've only dreamed of before.

Over the next year, my business partner and I plan to use Lisp for all new development and to migrate our major existing applications.

What do you think of Lisp so far?

As a Lisp neophyte I can only anticipate the deep magic others have spoken of here. However, as an experienced programmer who, essentially, has been searching for the thing called Lisp his entire career, I grokked some of the power of Lisp immediately:


Switch Date 2004 | Seek and Ye Shall Find | RtL Greenspun's Tenth | RtL comp-lang-lisp | RtL Paul Graham | RtL Eric Raymond | RtL Emacs Elisp | RtL SICP | RtL Work

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 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 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 Peder O Klingenberg'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