Friday, September 23, 2005

Progress in Programming Languages

I have been meaning to resurrect my blog for a long time (the original one died some time ago victim to a hard drive crash), but had been hesitating because I'd like a better way to publish to the web. Since I haven't yet found the time to work on those ideas, I might as well start with what's currently available.

I started looking into Lisp again after reading Paul Graham's essays. In college I did part of the problems on SICP and quite enjoyed the book. Even got my copy autographed by Professor Abelson when I visited MIT back in 2002.

My experience is mostly in C, C++, Python with some Tcl sprinkled in, and I have worked with PHP, Perl, Java, etc. So when I started getting into Lisp, it seemed kind of weird that Lisp was so superior to these more common languages. But the more of Lisp I study, the more it seems accurate.

An interesting thread about this subject happened (yet again) on comp.lang.lisp, and was mentioned in Bill Clementson's blog. My favorite quote in the whole thread was:

"Unfortunately, the success or failure of a computer language is often dependent on factors unrelated to its technical merits (...)"

S. H. Valentin in "The Computer Journal", Vol. 17, No. 4, p. 331

So there are those who dismiss Lisp, based on its small "market share". There are those who love Lisp and would do almost anything to not have to use a less powerful programming language. As for me, I'll continue diving into Lisp, hoping to someday use it in our much-dreamed startup.


  1. Smalltalk is probably another "core" language besides Lisp that is interesting to learn because many other languages were inspired by it and try to implement some of the features of the language. There is an interesting web toolkit for Smalltalk called Seaside

    Its on my list of things to learn along with getting past the first chapter of SICP.

  2. I don't know Lisp, but it is the language I plan to learn next. It is interesting that it is one of the oldest high level languages, but it is still used and influencing languages like Ruby and Python.