May 20, 2002
Revenge of the Nerds
Paul Graham has a new article (thanks, dnm and Adam Langley), "Revenge of the Nerds".
If you look at these languages in order, Java, Perl, Python, you notice an interesting pattern. At least, you notice this pattern if you are a Lisp hacker. Each one is progressively more like Lisp. Python copies even features that many Lisp hackers consider to be mistakes. You could translate simple Lisp programs into Python line for line. It's 2002, and programming languages have almost caught up with 1958.
I place a lot of value on Graham's thoughts on lisp because he's not a fanatic, and something about this piece makes me feel good even though it doesn't contain anything I didn't already know.
Posted by jjwiseman at May 20, 2002 09:31 PM
Very interesting article. Similar to his other writings. I agree with what he says, even though I write Java for a living. However, what's the answer to the question "why aren't Lisp style languages more popular"? Paul seems to dance around it by saying that PHBs choose based on "industry best practices" but how do they arise? Inquiring minds want to know!
I second that question: why?? Reputation (i.e. the dark AI years of the 70s/80s), the parenthesis (somewhat analogous to the whitespace issue with Python), the functional feel? What could it be? In one sense, Lisp has met with some commercial acceptance (albeit mangled beyond recognition) in the form of XSLT. Obligatory Worse Is Better reference goes here.
I would posit that Lisp lacks much in the marketing department. Walk into any bookstore and try to find single book on Lisp. I was shocked to discover "The Seasoned Schemer" at my local Barnes and Noble (and promptly bought it to reward them), but that's the first and last Lisp-ish book I've seen. They certainly don't hold the kind of desirable shelf-spots that the .NET and Java crowd seem to have .
In addition, what high-profile projects are available in Lisp? Certainly Emacs comes to mind, but for most people they look to see if there are any fun games, or fancy web servers, or even strong marks in the now-defunct "Programming Languages Shootout."
Objective Caml has come onto a lot of radar screens because of its high-level features, blazing fast executables, and perceived 'hack' value. Lisp may be seen as "your grandfather's programming language" (much like COBOL) -- perhaps an image adjustment is needed. :-)
I've always thought it would be cool to have a Lisp-interest website done up in 1960's graphics ("Lisp -- the choice of the Neuvo-Beat Hipsters of the new millennium"), complete with martini-glass graphics, rat-pack references, and so forth. But then, maybe I just had too much coffe this morning (or not enough?) :-)
Rebol is another one of those vaguely Lisp inspired languages with a healthy active following. I think a great deal of Rebol's success is its relevancy to the here-and-now demonstrated by its deep integration of all things Internet related. No real commercial success, just lots of happy vocal users. You can go to rebol.com and peruse many useful bits of code folks have uploaded, hard to find something like this in the lisp world. The Scheme people are trying something similar with the PLT Scheme project but it just doesn't have the same feel.
Re: Lisp books are fairly easy to come by in the Bay Area (at least) with Amazon/etc coming in a close second. An O'Reilly Lisp book would be a big win.
What about things like Clicki or cCLan? People often talk about a CPAN-style repository, but cCLan looks like about as close as anyone's gotten.
One thing that I sometimes find annoying about PLT is that third party stuff (like all of our Schematics work on Sourceforge) are really hard to find from the core "plt-scheme.org" site. PLT is a very "Cathederal" style project, but it's also very high quality.
Thanks for the tip on Bay Area books -- in Ventura county (outside Santa Barbara) it's slim pickings. Looks like we're mostly VB and Java hacks in this neck of the woods.
cclan has great goals, and they've made it to the point where it really is easy to download and install packages, for some platforms. Just not the platforms I was using when I was doing lisp daily.
But I think the infrastructure is getting pretty close. Next comes that boring part where we write the packages that cclan will have made it so easy for us to use.
OK. Is the 'Revenge of the Nerds' title an allusion to the fraternity in said movie, 'Lambda Lambda Lambda'? (Perhaps this is intuitively obvious to you gen-L'er's.)
The article doesn't mention Ruby which seems to have its own 'lambda lite' functionality--and developing quite a following as *the* pure-oo scripting language with Greatest Hits features from Programming Languages of Yore. (including lisp). I've been learning the language on the side and definitely see paradigms that don't exist in Java...
"Wrap it up in a clean syntax based in part on Eiffel, add a few concepts from Scheme, CLU, Sather, Common Lisp. You end up with Ruby."
Bill, I didn't even remember Lambda Lambda Lambda; Graham's title isn't quite as obscure to me anymore.