
Ousterhout's core argument — that the enemy of good software is complexity, and that complexity accumulates through shallow abstractions and tactical shortcuts — maps directly onto the failure mode of AI-assisted development. Models are natural tactical coders. This book argues for the strategic counterweight.
Chosen by shared topics, the entries that hold them, and the people who recommended both.
Rules for readable code: short functions, clear names, one level of abstraction.
A catalogue of moves that improve existing code without changing what it does.
MIT's introductory computer science text, taught through Lisp and Scheme.
Recommended by: Patrick Collison, Paul Graham, Bret Victor and 1 other
Lessons from IBM's OS/360: why adding people to a late software project slows it.
Recommended by: Mohnish Pabrai, Paul Graham, Andrew Chen and 3 others
A programmer's craft: when code is good enough and what to automate.
How open-source software is really made and maintained, often by a few people.
Recommended by: Balaji S. Srinivasan, Delian Asparouhov
Topics