Programming Language Theory & Construction
Focus: how languages are built and reasoned aboutโcompilers, interpreters, type systems, and runtime systems.
Compilers & Interpreters
Building language implementations.
| Topic | Description |
|---|---|
| Compilers & Interpreters | Full compiler/interpreter projects |
| Interpreters Deep Dive | Tree-walking to bytecode |
| Programming Language Construction | Designing and building languages |
Type Systems & Semantics
Formal foundations of programming languages.
| Topic | Description |
|---|---|
| Type Systems | Static and dynamic typing, type inference |
Low-Level Language Implementation
ABIs, linking, and runtime systems.
| Topic | Description |
|---|---|
| C ABI Deep Dive | Application Binary Interface |
| LLVM Projects | LLVM compiler infrastructure |
Memory Management & Garbage Collection
Automatic memory management systems.
| Topic | Description |
|---|---|
| Modern Garbage Collectors | GC algorithms and implementations |
| Modern GC Deep Dive | ZGC, Shenandoah, G1 |
Learning Tips
- Build a toy language: Best way to understand language design
- Study multiple approaches: Compare tree-walking vs bytecode vs JIT
- Read the Dragon Book: Classic compiler textbook
- Implement type checkers: Types are the foundation of correctness
- Explore LLVM: Industry-standard compiler infrastructure