Cross-cutting topics¶
Every path covers the big systems concepts from its own angle. These indexes let you read the same concept across paths - three takes on garbage collection, four on concurrency, five on observability - without hunting through nine syllabi.
| Topic | What you'll find |
|---|---|
| Garbage collection | Tracing, generational, concurrent, regional. Go's tricolor, Java's G1/ZGC, Python's refcount+gen, the kernel's slab+buddy. |
| Concurrency | Channels, locks, atomics, async, virtual threads, GIL, futex. Five languages, one set of hard problems. |
| Memory models | Happens-before across JMM, Go MM, Rust orderings, and the Linux kernel. Why volatile is not enough - anywhere. |
| Observability | pprof, JFR, py-spy, perf, eBPF. Always-on profiling as a discipline. |
| FFI | Calling C from everything. cgo, Panama, ctypes/cffi, Rust extern. When to reach for each. |
| Build systems & toolchains | Cargo, Maven/Gradle, go build, pip/uv, kbuild, BuildKit. Six builds, six bets. |
| Error handling | Values vs exceptions. Go errors, Rust Result, Java checked/unchecked, Python EAFP, kernel errno. |
| Testing | Unit, integration, property-based, fuzz, benchmark. JMH, jcstress, hypothesis, loom, syzkaller. |
| Networking | Sockets, HTTP, gRPC across Go, Java, Rust, Python, kernel. The IO-multiplexing story (epoll, io_uring). |
| Async models | Goroutines, Loom virtual threads, Tokio futures, asyncio coroutines, kernel I/O. Preemptive vs cooperative. |
| Type systems | Nominal vs structural, generics-via-monomorphization vs erasure, sum types, null vs Option. |
| Distributed consensus | Raft across the three capstones that implement it. Reading the paper, picking an implementation. |
| Performance methodology | Beyond tools - USE/RED, latency vs throughput, percentiles, Amdahl, when to stop. |
| Containerization & deployment | The build → image → registry → cluster pipeline. Bridges language paths to Containers + Kubernetes. |
How to read these pages¶
Each cross-topic page follows the same shape:
- Why it matters - the one paragraph framing across paths.
- The lens, per path - one short section per relevant curriculum, with links into the source weeks.
- The contrasts that teach - what changes when you move between languages/runtimes.
- What to read first - a single recommended starting point.
The goal is not to summarize each path's chapter - it's to give you the map between them so you can decide which lens to learn first and which to come back to.