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.