Post

Compiler and interpreter goldmines: build the language

The language-implementation canon that actually gets read: Crafting Interpreters, Russ Cox's essays, Eli Bendersky's archive, matklad, and the Architecture of Open Source Applications.

Compiler and interpreter goldmines: build the language

Nothing demystifies computing like implementing a language — and the field quietly produced some of the best-written technical material anywhere. These are the entries worth your evenings.

The modern classic

  • Crafting Interpreters — Bob Nystrom. Free online, and simply one of the best technical books ever written: a complete tree-walking interpreter in Java, then a bytecode VM with GC in C, every single line of both in the book. The prose is so good it hides how much you’re learning. If “compilers” ever felt like a graduate gate, this is the counter-evidence.
  • Game Programming Patterns — Nystrom’s other free book. Not compilers, but the chapters on bytecode, object pools, and data locality are systems design education disguised as game dev.

The essays

Reading real codebases

  • The Architecture of Open Source Applications + 500 Lines or Less — free volumes where maintainers explain their own systems’ architecture (LLVM, nginx, SQLite chapters are standouts), and then build small complete systems in under 500 lines. The missing genre: how software is actually structured, written by the people who structured it.
  • Writing an Interpreter in Go / Writing a Compiler in Go — Thorsten Ball. The test-driven companion path to Nystrom: everything built via TDD, which doubles as a masterclass in testing language tooling.

Why this is on a systems-portfolio site

Language implementation is transfer learning for everything else: parsers are protocol decoders (the SOAP wrapper project), bytecode VMs are schedulers with opinions, and GC is cache management wearing a costume. The habit these books build — hold the whole pipeline in your head, from characters to behavior — is the systems habit.

This post is licensed under CC BY 4.0 by the author.