A Philosophy of Software Design

A Philosophy of Software Design , by John Ousterhout describes his general strategies for designing software.

Ousterhout published a second edition in July 2021. For the benefit of those who bought the first edition, he has made the new material available for free download at book extract

Documentation

A Philosophy of Software Design , video, Talks at Google, 2018-07-20
A presentation about the book.

Strategies

Define Errors Out of Existence
Various examples of this surface in Tcl.