Atlas · Details
Lisp Wins (I think)
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
-
2005
A Little Anti-Anti-Hype
Same year — the marketing-side counterpart. Lisp Wins is the merit argument; Anti-Anti-Hype is the rueful acknowledgement that merit does not actually decide these things.
-
2006
Lisp is Not an Acceptable Lisp
A year later — the Common Lisp tooling and library essay that this piece's optimism eventually crashes into. The two together are Steve's full position on the language.
-
2005
The Emacs Problem
Same year — the architectural piece that argues text wants to be tree-structured. Lisp Wins is the language argument; The Emacs Problem is the data argument; the two are halves of one essay.