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 thesis is the bluntest in Steve's catalogue: if you don't know how compilers work, you don't know how computers work. The title — credited to his brother Dave — turns on a line about the Olive Garden being where poor people go to eat rich people food, with most of a CS curriculum cast in the Olive Garden role. The dish Steve wants you to order instead is Compiler Construction, which he rates the second most important class in an undergraduate program. (The first, revealed in the last line, is Typing 101.) The argument is that compilers are the capstone that pulls a degree together — you can't understand one without machine architecture, OS, theory of computation, and language design all at once — and the problem they solve is everywhere. He lays out eight everyday situations (auto-formatting, doc extraction, syntax highlighting, refactoring a giant C++ codebase, talking to a proprietary router) and shows each is quietly a compilation problem, usually solved badly by someone reaching for a 2,500-line hand-rolled state machine because they never learned parsing. The cure is to learn the pipeline and then write one yourself, even a small interpreter.

Steve at his purest teacher — funny, profane, serious about the craft. The metaphor in the title is the lasting thing: rich programmer food is the deep, nourishing work, and learning compilers is how you graduate from "your little service APIs and JavaScript widgets" to it. The essay also contains one of Steve's most-quoted throwaway lines, the entirety of the section titled Large Systems Suck: "This rule is 100% transitive. If you build one, you suck."

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