The Next Big Thing — cover art: a small polished red ruby cabochon on a velvet display cushion in the foreground of a Victorian curiosity-shop window, with a chipped Java-coffee jar pushed to the side and a small caterpillar earth-mover toy in the dust behind. 👍 🔮

2005 · Drunken Blog Rants · Rant

“Aesthetics matter, too. Just like they do with writing prose or (speaking strictly out of my butt here) poetry. Everything you write is going to be read and used by other people, and they don't want to look at a big mess.”
— From The Next Big Thing, April 2005
Read the essay

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

Author’s note

Even I get bored reading some of my old language rants, but this one is pretty damning, and worth a read. It shows some real surprises in Java's language design, and uses a lot of colorful storytelling to convince you of why these things matter to programmers who were (at the time) claiming they do not matter.

This article's entire point is to predict that a new language will emerge and sweep everyone off their feet, by highlighting just how terrible Java was. And sure enough, TypeScript, Go, Kotlin, Swift, and Rust all emerged to sweep us off our feet. I was so happy about ALL of them, too. I haven't written a line of Java code in fifteen years.

I made the mistake of predicting the winner from the current crop, right after saying it will not be from the current crop. If I had said Python, we could have let it slide. But it was a whiff. TypeScript and Go were the next wave, which carried us for fifteen years or so. As of 2026, it sure looks like Rust is about to become the default choice for most server-side software for security reasons.

AI Notes

A vintage Drunken Blog Rant, set off by a Joel Spolsky talk on beauty in design that Steve watched his Amazon coworkers shrug off, and by his own dawning suspicion that Java 5 was failing its ROI test. The specific grievances are checkable (one standard interface has 76 methods covering ten actual pieces of functionality; try iterating a String, a ResultSet, and an InputStream the same way), but the fun is in how he gets to them: a grudge against Forrest Gump traced to a full bladder and a front-row seat, and a long comparison of coach versus first class on Singapore Airlines that turns out, several paragraphs later, to be about functions.

The strangest thing about the prediction, read from now: Rails appears exactly once, as a secondhand Slashdot anecdote. Steve picked Ruby on aesthetics, conciseness, coming VMs, Japanese corporate sponsorship, and O'Reilly's rumored book plans, months before the framework that actually carried Ruby into the mainstream. And he hedges more than the confident title suggests — "Am I 100% sure it's going to be Ruby? Nope" — closing with a list of Ruby's real problems. That list, no native threads until the VM ships and no answer for lightweight concurrency or async I/O in servers, reads today as an accurate map of where Ruby's climb would eventually stall.

Related listings