Why Lisp Still Hasn't Won

by chromatic

Related link: http://reddit.com/blog/2005/12/on-lisp.html



The Y Combinator-funded reddit was originally a website built in Lisp. For this, the vocal online Lisp community praised it as a practical example of a successful Lisp project.



After a week's worth of rewriting, reddit now uses Python. Cue storms and furies.



While the explanation given by the reddit developers is that they couldn't find a good solid open source Lisp implementation that ran on their development and deployment platforms and supported all of the features they wanted, some Lisp advocates accused them of selling out to Venture Capitalists (why not J2EE then?), of being bad programmers (as if something had changed in a week), or of insufficient technical aptitude to do something as simple as resolving to do all development in a different operating system running an emulator for a foreign architecture or deploying to an untested commercial implementation for which the vendor expects ongoing royalties if the project succeeds.



Meanwhile, the developers now have an equivalent site written in a language for which there exists a single high-quality implementation across multiple platforms, for which there exist multiple libraries with documentation, and for which the user community online won't rush to sacrifice you to a volcano if you don't toe the dubious and ill-defined line of language purity.



(I suspect that anyone who says "Python is a lot like Lisp" in all apparent seriousness knows very little about either.)



The technical problems for Lisp in the case of reddit are solvable. Some of the posters in comp.lang.lisp realize that the lack of libraries that work well across multiple implementations holds back Lisp... as does the lack of complete features across multiple implementations and multiple platforms.
Still, I suspect they will go unsolved as long as the angry vocal online Lisp advocate community chases away potential allies. (See talk #10 from "Twelve Views of Mark Jason Dominus" -- Why Lisp Will Never Win.) I almost wonder if half of the comments in the "on lisp" article came from people who want to see Lisp fail.



John McCarthy, save us from your followers!


10 Comments

RobertPratte
2005-12-13 06:43:44
A problem of too much variety
The reddit changes have been a topic of hot discussion, leading to the creation of a few clones (re)written in Lisp (linkit.fractalconcept.com being an example), flame wars, and all sorts of interesting discussions. Somewhere in the midst of all of this fluttering and flurry, I saw an excellent point: Lisp suffers from too many choices, too much variety.


Simply put, there are many free and not-so-free implementations of Lisp that, while largely compatible, have their own strengths, quirks, and (to some degree) cultures. In the end, this variety causes efforts to be dispersed and distributed and ultimately impacts portability.


Granted, there are other issues that have led to the (arguably) marginalized position of Lisp - at least in the free software community. I don't see Lisp as losing, however, it just needs to develop greater cohesion across its disparate followers and advocates.

bugbear
2005-12-13 07:48:22
the mine
(I suspect that anyone who says "Python is a lot like Lisp" in all apparent seriousness knows very little about either.)


I think I'll call you on this and go on record as saying that Python is a lot like Lisp. In fact, I'd go so far as to say that anyone who doesn't realize how much Python is like Lisp doesn't know much about the history of programming languages. Where do you suppose e.g. dynamic typing and garbage collection come from? The creators of Perl, Python, and Ruby have used Lisp as a conceptual mine for years-- sometimes indirectly through other languages that took ideas from it.


-- Paul Graham

beza1e1
2005-12-13 08:55:03
A problem of too much variety
I agree. My theory goes:


The powerful the language the harder the standard (or convention)


Java is (or was) a very simple language, with only OOP and no advanced things like generics. This made it easy to develop a common standard library set. This and Suns money of course.


Ruby on Rails was a lucky conjunction of skill, design and marketing. So i see this as the exception for the rule.


Python on the other hand had the same problem as Lisp. No integrated web framework, which is not as complex as Zope or J2EE. No there are Django and TurboGears.


Lisp also as Uncommon Web, which looks quite cool to me, but the Community seems not to be in a need to take over ucw and make it the unwritten standard like Rails is. Perhaps MVC Frameworks are just too simple for the Lisp crowd.

chromatic
2005-12-13 09:18:15
How Much is "A Lot"?
You're right; I was unclear and much too aggressive with that aside.


It's a fair point that all of those features owe their existence to Lisp. However, I come across a lot of people who say silly things such as "Lisp has lambda and so does Python so Python is the new Lisp!" who conveniently ignore that, for example, lambda is almost useless in Python by design or that lexical closures Just Don't Work in Python.


Sure, Python has several features that make Lisp powerful -- but lacking macros that work on the AST and real higher-order functions, I just can't see it as anywhere near as powerful as Lisp. (That's especially true because Perl itself has eight of the nine features of Lisp, but rarely gets the credit.)

Smuglispweenie
2005-12-13 11:26:53
Moving towards X does not make me similar to X
Off the top of my head -- and these are all things that really really matter to me-- Python lacks macros, interesting lambdas, lexical closures, special variables, forty years of refinement, native compilation, and parentheses, god love 'em.


Yep, everyone is crawling /towards/ Lisp and/or Smalltalk, but I do not see anything like Lisp out there.


Kenny Tilton

Smuglispweenie
2005-12-13 11:33:43
Followers Schmollowers
Anyone upset about Lisp followers has not really read comp.lang.lisp, and must be thinking more about Usenet society than writing an application.


c.l.lisp, like any community that would like to grow so we could use Lisp at work instead of Java, positively fawns over newbies, who get help from some of the most exhalted Lispniks you can find.


We slice and dice trolls, but that is just to keep the NG unpolluted. (No, we have never lost a newby to friendly fire.)


Kenny Tilton

sblinn
2005-12-13 12:23:57
Followers Schmollowers
Using phrases like "most exhalted Lispniks" makes c.l.lisp sound more like a cult than a newsgroup, and more interested in status and ego than writing an application.
Tron3k
2005-12-13 12:42:10
Followers Schmollowers
No, we have never lost a newby to friendly fire.


You have quite a short memory.

NeuralizR
2005-12-13 20:16:44
Followers Schmollowers
Wow, that's the biggest troll I've seen all day.
Smuglispweenie
2005-12-13 21:55:41
Followers Schmollowers
Oops, that should be exalted. My bad.


Cult? I think you must be thinking of the Order of the Raccoon in the Honeymooners. The word means "raised in rank, character, or status". So I just meant newbies will often get help from the best of the best on c.l.l.


You know, the priesthood.


kt