Lisp Wins (I think) — cover art: a contemplative beaver in a leather apron at a Victorian workbench, an enormous brass scaffolded contraption labelled with abstract Java-style girders on the left, a small elegant nested-parenthesis abacus on the right glowing in lamplight. 👍

2004 · Drunken Blog Rants · Rant

“Java's running out of steam for being too bureaucratic. Both are widely beginning to be perceived as offering too much resistance to getting cool software built. Mostly I'm a Java programmer. I realized, about eighteen months ago, that I was getting sick of Java.”
— From Lisp Wins (I think), 2005
Read the essay

© 2004 Steve Yegge. Originally published at Drunken Blog Rants.

Author’s note

This one is better-written than many of my other posts trying to say exactly the same thing. From a personal standpoint, I think the most interesting bit is the biographical timeline of programming languages I'd used, starting in 1986.

It's easy to forget that we have a huge selection of really awesome languages today, that I didn't have access to back in 2005. Today we have Rust, Go, TypeScript, Kotlin, Dart, and Swift to name just a few. Back then the options were really bad, and it was frustrating as hell.

AI Notes

The verdict at the end of Steve's year-long hunt for a Java replacement, first posted in August 2004 with the hedge built right into the title. Its most endearing habit is correcting itself in public: a bracketed note added a year later concedes that Ruby's metaprogramming turned out to be stronger than the essay gives it credit for, and Steve admits mid-argument that his tidy Perl example was a lucky find, "pretty unusual for Perl." The case underneath all that hedging is sturdy and funny in the details. Reshaping C++ with templates gets compared to "pushing a dead horse down the street," and there's a bit of Fred Brooks arithmetic holding that compressing 450,000 lines of Java into 100,000 lines of something denser should shed about 80% of the bugs.

The page preserves exactly one reader comment, from September 2004, and in hindsight it lands hard: what do you actually do with Lisp, the reader asks, when it has no libraries for networking or much of anything else? The essay offers no answer, and that question is the one "Lisp is Not an Acceptable Lisp" (linked above) spends 2006 conceding at length. The objection that eventually unwound this essay's conclusion was sitting quietly at the bottom of the page almost from the day it went up.

Related listings