Why Does Lisp Have a Problem?

Posted on January 25, 2009

Jonathan Rockway wrote a post entitled, Problems with Lisp, where he opens by saying:

I have seen a few complaints about Common Lisp over on Programming Reddit this week. Most of them are the usual kind of complaints you hear from people that are new to any programming language (“I don’t understand the common idioms, so the language is bad”), but one complaint keeps coming up: Lisp doesn’t support hashes well. There are plenty of things wrong with Lisp, but I don’t get this one.

He then goes on to talk a little bit about various Lisp data-types with some example code and such. Overall a pretty good post and probably a subject that could use a little discussion. What is the problem with Lisp? Afterall, there are plenty of things wrong with Lisp.

I began the journey to Lisp about two and half months ago. A respectable programmer had been yammering on about Lisp in almost any conversation about programming that we had. At first I found it infuriating — I’d be relegating my battles with finding solutions to my problems in Python as part of my job and he’d retort with some quip about how Lisp would solve all of them. It wasn’t very helpful, but it did make me curious. So I started reading, typing things into this magical tool called a REPL, and eventually leaving my trusty vim editor for emacs.

One thing I had noticed lurking through the Lisp newsgroup were the inordinate number of posts purporting to solve or address problems in Lisp. Since I was just beginning to invest my time in learning this language, I made sure to try and read every thread on the topic. The surprising thing was that despite all of the lengthy posts from detractors, the responses from prominent lispers was all I needed to continue onwards in my journey. No matter how well a detractor would defend their position, it was glaringly obvious to me that they simply didn’t understand Lisp. They were just missing the point.

Lisp has been around for a really long time. It’s almost as old as my parents. It has been used to solve a lot of problems. Problems that a lot of languages since have tried to re-discover and solve. It’s no wonder then that other languages borrow so heavily from Lisp. It’s been there, done that. That experience is worth more than its weight in gold. Don’t judge it before you’ve even tried it.

Try writing something non-trivial in Lisp. You might be surprised at its lack of problems.