Lisp’s 50th birthday

John McCarthy‘s Lisp programming language —is 50 years old (October 2008). Lisp is the second oldest programming language still in use today, next to Fortran.

John McCarthy

John McCarthy

Lisp50 at OOPSLA 2008 celebrated Lisp’s contributions.

I celebrated by giving a talk to the Australian Java User Group in Adelaide about Clojure, a new dialect of Lisp for the JVM.

There’s a lot of interesting material to be found by Googling, but here are a few relevant links:

A decade ago I developed LittleLisp for the ill-fated Newton PDA.

There’s a nice parody song called The Eternal Flame which is all about Lisp, and here’s some amusing xkcd Lisp cartoons:
Lisp still looms large:
  • in Emacs as e-lisp;
  • it has mature free implementations (e.g. take a look at PLT Scheme);
  • and active commercial implementations (e.g. the LispWorks mailing list is very active).
Lisp refuses to lay down and die. In his 1979 History of Lisp paper John McCarthy said:

One can even conjecture that LISP owes its survival specifically to the fact that its programs are lists, which everyone, including me, has regarded as a disadvantage. 

In ANSI Common Lisp, Paul Graham points out that Lisp has always put its evolution into the hands of its programmers, and that this is why it survives, especially via the macro systems as found in some dialects (e.g. Common Lisp, Clojure), which make the full power of the language available to generate Lisp code at compile time.

Irrespective of how widely used Lisp dialects are today, we should continue to remember its contributions to programming: code as data, higher order functions, application of functions to the elements of a list, an emphasis upon recursive solutions to problems, erasure of abandoned data (garbage collection), the Read-Eval-Print Loop (REPL), to name a few.

As for the future, it’s always uncertain. Here are some notes about the future of Lisp from the OOPSLA Lisp50 session, which suggests that Clojure may be a big part of that. Next year’s International Lisp Conference has the working title “Lisp: The Next 50 Years”. 
I’ll end with a quote from Edsger Dijkstra:

—Lisp has jokingly been called “the most intelligent way to misuse a computer”. I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.


3 Responses to “Lisp’s 50th birthday”

  1. damoun Says:

    Hi David;

    Not sure if you have already seen this but in any case. Guy Steele had a phone interview with John McCarthy (@ OOPSLA 2008) see the link below, and one of the very interesting things McCarthy talks about is the idea of a programming language with an abstract syntax and multiple concrete syntaxes.

    The idea is that a programmer will use one of the (preferably the most suitable) concrete syntaxes when trying to write an actual running program (say an XML parser, a database storage engine) and will use the abstract syntax representation to reason about the correctness of some algorithm he has implemented in one of the concrete syntaxes.

    It’s kind of analogous to the Model-View-Controller design pattern, where your business/domain-of-concern object (represented by the Model) has a single representation, which is the most convenient for programmable manipulations, for example unit testing, storing it in a database, etc. And you can provide the users of your program with multiple presentations of the Model, and they can choose which presentation/view suits them best, pure text, HTML, graphs/charts, etc.

    Here is one of McCarthy’s paper on the subject, it’s a bit heavy to digest (mind you I haven’t fully understood myself)

  2. damoun Says:

    Hi David;

    Thanks for the reply and the links, first time I hear about either of the languages. I had a look at the Elephant 2000 paper last night, McCarthy has also done a video presentation at Staford University (2008?) here is the link:

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: