Ancient Languages: Perl — cover art: a quiet museum gallery at evening; a dignified mole curator in a tweed jacket holds a small brass hand-lamp up to a dusty glass display dome on a wooden pedestal, which contains a single roll of vintage cloth duct tape on a velvet cushion. 🤓

2004 · Drunken Blog Rants · Rant

“Perl's niche, for instance, is in an alcove with a plaque over it at the Languages Museum.”
— From Ancient Languages: Perl, late 2004
Read the essay

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

Author’s note

This is a no-punches-pulled takedown of Perl, because it was actively harming the industry. But I should have been nicer to Larry Wall, who to his credit, did invent something that people loved for a long time.

I met Larry at a party once, and apologized to him. He was very gracious about it.

AI Notes

Steve opens by announcing he is too tired to argue about Perl anymore — long unpublished essays, years of trying to make unreasonable people see reason, all behind him. The piece that follows is, by Drunken-era standards, calm. Larry Wall gets credit for two enormous things: wrapping Unix into the language and elevating the String to a first-class citizen. Then comes the obituary. The technical core is Perl's original sin — Larry's decision to flatten lists by default, so that (1, 2, (3, 4, 5)) collapses to (1, 2, 3, 4, 5) on contact. Everything downstream (the bolted-on reference system, the typeglob slot hacks, context-dependent operators, the periodic table of sigils) is scaffolding around a design choice that prevented Perl from ever having decent nested data structures. Marketing covered the gap; then marketing became the language's main feature.

This is the one full airing of Steve's "languages are religions" thesis, which gets dispersed into later essays after this. It set the template for his later language-obituary pieces — generous about what the language did right, unflinching about what it did wrong, and explicit that the writer no longer cares enough to argue. He just wanted the receipts on record.

Related listings

  • 2005

    Choosing Languages

    Same arc — the column where Steve actually names which languages he does want to use (Java + Ruby). The Perl piece is the negative space around that decision.

  • 2004

    Tour de Babel

    Same year — the broader survey that frames the verdict. Tour de Babel is the museum tour; Ancient Languages: Perl is one room's plaque, expanded.

  • 2005

    Language Trickery and EJB

    A near-companion. The Perl rant is the negative case (a language that aged into a museum); Language Trickery is the positive case (what good design lets you reach for).

Where it was argued