Honest Take — Before You Begin
Companion to COMPUTERSYSTEMSMASTERYCURRICULUM.md Written April 30, 2026 — honest reflections, no sugar coating.
Compilers & Interpreters — Building Languages covers: Crafting Interpreters, Writing An Interpreter In Go, Nand2Tetris. Understand how programming languages are implemented: lexing, parsing, ASTs, type checking, code generation, and optimization. Build an interpreter and understand how Ruby's own compiler works.
Every erb template is compiled. Rails compiles ERB to Ruby code (string interpolation), which is then compiled to YARV bytecode. The template compiler is a mini-compiler with its own lexer and code generator.
Ruby's parser (parse.y) is a LALR parser generated by Bison. After this module, you can read parse.y and understand why certain syntax errors produce the messages they do.
YJIT is a JIT compiler built into CRuby (by Shopify). It monitors which methods are called frequently ("hot"), compiles their YARV bytecode to native x86-64/ARM64 machine code, and patches the call sites. After this module, you understand every step of that pipeline.
This course unlocks once you've finished its prerequisite. Open prerequisite →
Companion to COMPUTERSYSTEMSMASTERYCURRICULUM.md Written April 30, 2026 — honest reflections, no sugar coating.
There is an emotional arc to this book, and it's worth naming in advance: this is impossible (the first look at a lexer), then wait, this is just string processing (the scanner wo…
Here's a question your Crafting Interpreters parser answered the long way: when the parser sees 1 + 2 3, how does it know the multiplication binds tighter? Recursive descent answ…
The computer you built in Course 3 has been sitting there, finished and mute, able to run nothing but hand-written assembly. This is the lesson where it gets its software.
Work through each item before the checkpoint.
After completing both Crafting Interpreters interpreters, extend one of them with a feature that Ruby has but Lox does not. Suggestions: arrays, hashes (hash tables are already in…
6 lessons. Read in order; spiral back when you need to. By the end you'll have used the core ideas twice — once on the abstract, once on something you'll meet at work next week.