Part Five: Compiler and Toolchain
- Chapter 15 The Compiler Pipeline
- Chapter 16 Tooling and Observability
- Chapter 17 Modules and Dependencies
The source we write must pass through an entire toolchain before it becomes a runnable program, and every link in that chain, the compiler, the linker, the build system, and even the transitive closure of dependencies, quietly shapes the behavior and trustworthiness of the program. The question Thompson posed in his Turing Award lecture remains thought-provoking to this day: when trust is passed along the toolchain layer by layer, what exactly are we trusting. This part takes that as its entry point into the full picture of Go’s toolchain: we first walk through the compiler’s multi-pass pipeline from source to machine code, then survey the tooling ecosystem built around building, testing, profiling, and observability, and finally arrive at module and dependency management, to see how Go uses minimal version selection and verifiable checksums to make “trust” something that can be reasoned about and reproduced.