Ten Great Books — cover art: a small fox in a tweed waistcoat at a Victorian library shelf, ten well-loved books standing in a slight lean, each with a small cloth bookmark — a brass oil lamp on a side table, a mug of tea steaming, a single dog-eared volume held open in his paws.

2004 · Drunken Blog Rants · Rant

“I'm going to argue in a yet-to-be-published essay that Compilers and Operating Systems are the most important courses in an undergraduate CS degree, and that both of them should be required for graduation.”
— From Ten Great Books, November 2004
Read the essay

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

AI Notes

November 2004, with the unguarded enthusiasm of a working programmer who has just begun realising his own profession has a canon. The essay opens with a long, fond detour on how completely O'Reilly has captured the notion of "technical book," then lands on Steve trying to identify the books that have actually changed how he writes code. The Pragmatic Programmer with the cold-sweat observation that some readers will never accept it. Refactoring with the famous "pants down around your ankles" line — Steve had been senior for years before reading it, polled twenty colleagues afterwards, and found one. Design Patterns, gently mocked (the Interpreter pattern as an in-joke). Doug Lea on concurrency, Friedl on regex, Skiena, K&R, The Little Schemer, the Dragon Book. The tenth slot is the wildcard: the WikiWikiWeb, treated as a book because that's what Steve uses it as. The throwaway closing claim — that compilers and operating systems should both be required for a CS degree — promises a future essay and turns out to underpin several.

Most of these books are still standard. What dates the piece, and makes it worth keeping, is the snapshot of a senior engineer in 2004 working out, in public, which authors taught him to write code, and what was missing from the syllabus he was handed.

Related listings

  • 2005

    Ten Challenges

    The deliberate sequel two months later — ten books Steve is in the middle of, not the ten he has finished. The two lists were always meant to be read as a pair.

  • 2005

    Transformation

    The follow-on essay about going back and actually reading Fowler's Refactoring, not just skimming it. Where this list says "you should read these," Transformation says "and here is what re-reading looks like in practice."

  • 2006

    Math For Programmers

    Two years later, the Blogspot-era essay applies the same recommend-and-justify shape to the math curriculum the working programmer was never given. Same instinct, different shelf.