The 3 Worlds of Lisp Development
Saturday, February 7, 2004
There is a long thread on comp.lang.lisp called "Executables: Why all the abuse?". As so often happens in long threads on c.l.l., the topic changed/morphed and this one spawned off a sub-thread discussion. In it, Duane Rettig (from Franz provided an excellent summary of the 3 different worlds of Lisp development today. Here's the key section from his post:
"As a Lisp Developer, I see three worlds of Lisp development. One is the Lisp Machine world, which has pretty much dried up. Not completely, but the business is not big enough to support more than one tiny company. Many wax nostalgic about their machines, and some have tried to resurrect it, but that will likely not happen.I agree with Duane's assessment and believe that this "targeted" market is one where Lisp could stand to make quite a difference in the future. I would be interested in hearing from people who are doing work in the "third world" of Lisp development today. However, I would also like to hear from people who are using Lisp to write Domain Specific Languages that run on GP hardware as well. If I get enough responses (or a few really interesting ones), I'll post a follow-up on this topic.
The second world of Lisp computing is the GP hardware world. It is the one which I entered when I came to Franz, and it is the largest, even though as Lispers we only have a small slice of the GP-hardware software market. We are, of course, working hard to add to that slice. We target our Lisp to GP hardware, and indeed don't consider non-gp hardware, though as more and more specialized hardware is implemented on GP machines, we see more and more potential.
The third area is one little-explored by our customers, but present. It has been alluded to elsewhere in this thread, and is what I call the "targeted" market. It is not Lisp vendor-developers that tend to target this kind of hardware, any more than C++ companies would target such hardware, but instead Lisp programmers, who would build target code out of the compilation abilities of their Lisps (just as C/C++ cross-developers would build their targeted software out of the environments which they get from their language vendors). One very successful example of this is Naughty Dog Software: see:
http://www.franz.com/success/customer_apps/animation_graphics/naughtydog.lhtml
Lisp is supposed to be the language-writing language. Most CL implementations already compile down to the machine-code level, very efficiently, and it is not too hard to compile to bit-levels of specialized hardwares (the native compiler can probably even help). So why don't people just do that? Perhaps it is because they don't think it can be done. (refutation: see the naughty dog article above). Perhaps they think that the Lisp vendors will do it. Sorry, we do have our hands full with the growing cadre of GP hardware. Perhaps they just don't know how. I doubt that; Lispers tend to be pretty smart. I think that Lispers just don't associate the capability of targeted software with Lisp, and that's a shame, because Lisp is such a great language for doing such work."

