Why not Lisp?

Ok, so I’ve made it up to chapter 18 of my book, and I’m still enjoying the read. There was a brief diversion while the book chased the illusion of an OS/filesystem independent file naming library, but it’s keeping me entertained.

Perhaps by working for another OS company, the dream of unifying the various Unix & Win32 filesystems seems less important to me. Better really to give in, and recognise that the file namespace is the domain of the OS/filesystem/user, and there are too many leaks in abstractions above them.

Anyway, the title of this post is why not Lisp – putting aside my reservations of yesterday – why isn’t it more popular? There are the many reasons noted by Paul Graham, but there is a more prosaic one that hit me when I started.

There is no implementation that seems reasonable to use!

On my chosen OS (Mac OS X at the moment) I have the grand choice of three commercial implementations, and four open source implementations. All seem to have a significant gotcha.

Only one of the commercial implementations appears to have a ‘free redistribution’ model, the other two want some percentage or down payment from the sales of any product I create. Yuk.

Of the open source implementations, none are complete enough to host all of the examples from the book I’m using to learn the language. Some lack threads (hello – this is 2006), and others lack Unicode (hello – wave if you don’t speak ASCII English).

Whether the royalty free commercial implementation supports the features needed by the book is not clear (great sales pitch!). The book’s author recommends a vendor without a price list, which I assume to mean they’re in the we-want-a-percentage camp.

For any more popular language there is usually a bit more choice and competition among the tools vendors. As I see it, on Mac OS X, there isn’t a clear ‘one stop shop’ implementation I can choose to: learn the language with a popular text, and then distribute my first few applications ‘for free’. The situation on Win32 doesn’t look much rosier, although I’ve not looked at the details.

No wonder no-one is using Lisp.