Rich Programmer Food — cover art: a hand-drawn storybook illustration of a fox in a cook's apron at a candlelit kitchen table, lifting the domed silver cover from a single grand steaming dish, a warm range and copper pots glowing behind him.

2007 · Stevey's Blog Rants · Rant

“If you don't know how compilers work, then you don't know how computers work. If you're not 100% sure whether you know how compilers work, then you don't know how they work.”
— From Rich Programmer Food, June 2007
Read the essay

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

Author’s note

A longtime player of my Wyvern game, Dr. Jimmy Koppel, introduced himself to me at a conference in 2025. He said that he played Wyvern in middle school, starting in March 2003, which is when he also started reading my blog. Rich Programmer Food convinced him to go to college and get a Ph.D. in compilers, which he did. He then founded a successful startup as the CEO.

Nothing could possibly make me happier or prouder, that my blog post had such a profound positive impact on someone's life like that.

AI Notes

The rudest of Steve's "you don't know what you think you know" rants, and one he spent a year failing to write politely before giving up and pouring a drink. It's a recruiting pitch for the CS course nearly everyone skips — compilers — delivered by someone whose own first attempt at the course ended in a 0.0 on his transcript. The case has nothing to do with wanting a compiler-writing job: an unreasonable amount of everyday programming turns out to be a compilation problem in disguise, and the programmer who can't spot one ends up writing the 2,500-line hand-rolled state machine instead. There are eight trick scenarios to test yourself against, a field guide to the three compiler camps and why they only mingle at raves, and a cameo from NBL, the mystery language Steve teased all through 2007.

Near the end Steve admits he went and built an interpreter of his own before daring to publish this, and that it ambushed him: even a simple one turned out to be "a lifetime of work." So the essay is less an insult than an invitation, from someone freshly bitten. The claim that holds up best, under all the jokes, is that the broken tools you're waiting on — the editor that can't indent your language, the doc extractor that keeps segfaulting — are things you could fix yourself in a week, once you know how parsing works.

Related listings

  • 2008

    The Universal Design Pattern

    The other deeply technical essay in Essentials, written a year later. Both make the same move — take the deep, unglamorous thing the industry walks past and show it quietly holds everything up. Rich Programmer Food tells you to go learn compilers; the Universal Design Pattern is the kind of idea you can finally see clearly once you have.

  • 2006

    Execution in the Kingdom of Nouns

    Steve's most famous language essay — Java's tyranny of nouns. Rich Programmer Food argues you should know languages well enough to fix the ones you dislike; Kingdom of Nouns is Steve doing exactly that, taking apart the one he was stuck with.

  • 2004

    Tour de Babel

    A guided tour through C, C++, Lisp, Java, Perl, Ruby and Python — the languages essay that pairs with this one. Rich Programmer Food says learn how languages are built; Tour de Babel is Steve walking the showroom floor and reviewing the merchandise.

Reception & teaching

"If you don't know how compilers work, then you don't know how computers work" became more than a line — it became a recruiting pitch for the compilers course itself. The essay's clearest legacy is in the classrooms and reading lists that use it to argue students into the one course they most want to skip.

Taught from

ongoing CMPT 379 · Compilers Simon Fraser University · Anoop Sarkar

Opens the course with Steve's line as its motivating epigraph, and builds the "why take compilers" lecture around the essay.

Companions & endorsements

2007-08 Rich Programmer Food Resources Borkware Miniblog

A direct follow-up curating the books to actually learn this from — the Dragon Book, Programming Language Pragmatics, and the rest.

2007 Steve Yegge: Rich Programmer Food Software Ruminations · Charles Knutson (BYU CS)

A CS-faculty endorsement — "lengthy but brilliant" — passing it along to students.

Where it was argued