
Controversial in its prescriptiveness, but useful precisely because AI-generated code routinely violates every heuristic in it: long functions, unclear names, mixed levels of abstraction. Reading Martin sharpens the vocabulary for what to fix in a model's output, even if the rules are applied with judgment rather than dogma.
Chosen by shared topics, the entries that hold them, and the people who recommended both.
Software's enemy is complexity, which grows through shallow modules and shortcuts.
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