Keeping it Simple With Go
summary
Argues Go trades expressiveness for simplicity and explicitness, giving concrete advantages: arrays are value types and slices are lightweight views, methods can attach to base types, and structural typing plus embedding replaces fragile inheritance. Shows fast builds with go get/go build and demonstrates an arena allocator implemented in Go to keep nodes contiguous; contiguous layout reduces cache misses (example: fragmented layout yields ~4 misses vs 1–2 for packed data), so manual memory layout control measurably improves CPU-bound performance.
AI-written summary · about
chapters (18)
- 0:00Intro
- 1:13Main Topics
- 4:26Simple as a Philosophy
- 7:07Parsing and Tools
- 14:38Creating an Empty Slice
- 17:11Defining new Types
- 19:09Inheritance Hierarchies
- 21:27Fragile Base Class
- 26:31Defining and Implementing an Interface in Go
- 28:15Structural Typing
- 29:14Versatility of Structures
- 31:39Embedding vs Inheritance
- 38:40Dependency Analysis in Go
- 41:06Memory Layout Matters
- 41:59Overhead Imposed by Classes
- 44:03Fragmented Memory
- 49:06Arena Allocator for Binary Tree
- 56:31Building and dependencies








