Why Kotlin Is Better — cover art: the Count from Sesame Street holding up the number 8, a nod to the essay's thousand-year-old-vampire-excited-about-Java-8 bit. 😄 🤓

2017 · Stevey's Blog Rants · Rant

“Java 8 lets you say interesting things, but you have to do it with a mouthful of sand.”
— From Why Kotlin Is Better Than Whatever Dumb Language You're Using, May 2017
Read the essay

© 2017 Steve Yegge. Originally published at Stevey's Blog Rants.

Author’s note

The Kotlin team reached out after this one; they were delighted. I heard the Android core team down in Mountain View was irritated that I had critized their shitty APIs. Because, you know. Criticism bad. But I can tell you, re-reading this essay nine years later, my blood pressure absolutely spiked when I read "Fragments." Android is horrible, and Kotlin really does make it better.

I think the Count von Count picture and caption, an amazing four-way joke, is one of the finest gags of my writing career.

AI Notes

A rarity in Steve's catalogue: a language essay written from inside a honeymoon rather than a grudge. The sell was fast by his own telling. Three days to learn enough Kotlin to write real code, five weeks before he was gutting his twenty-year-old game server, and he keeps pausing to sound startled about it, having assumed he was too jaded to ever love a language again. History then handed him an ending. Google announced first-class Android support for Kotlin at I/O the very month this went up, so a prediction of the kind that usually takes a decade to grade came back marked correct almost before the comment thread cooled.

Readers hoping for a rigorous comparison should know the specifics are waved off to "another large write-up" that never materialized on the blog; what stands in for them is a ten-bullet sketch, plus the deep-cut admission that Steve's gold standard for a concise language is Jython. The argument underneath the testimonial is about adoption: a new language now only breaks through chained to a platform people are desperate to use, and Android's worst APIs supplied exactly that desperation. And the funniest passage quietly undercuts the whole pitch. IntelliJ turns out not to handle Steve's typing speed, so his actual workflow is hammering out error-riddled code in Emacs, then hitting "Alt-Enter like 50 times" while the IDE cleans up after him.

Related listings

  • 2006

    Execution in the Kingdom of Nouns

    The direct callback. This essay describes Java 8's "parallel streaming filterable collecting scheduled completable callbacking futuring listening forking executor noun kingdom" — a one-line nod to the noun-kingdom argument Steve had made, in earnest, eleven years earlier.

  • 2008

    Dynamic Languages Strike Back

    Two stops on Steve's long quest to replace Java with anything reasonable. Dynamic Languages Strike Back made the case for the dynamic camp; nine years on, Kotlin is where the static-typing search finally found a home.

  • 2005

    Bambi Meets Godzilla

    Bambi Meets Godzilla argued that how good a language is barely matters to its adoption. This essay says it again in passing — and then makes the opposite bet, that this time the good language has the tooling and the buzz to actually win.

Where it was argued