← the founders library

Structure and Interpretation of Computer Programs

Harold Abelson and Gerald Jay Sussman
Recommended by
Summary

Harold Abelson and Gerald Jay Sussman's MIT computer science classic — known universally as SICP — that uses Scheme (a Lisp dialect) to teach the fundamental ideas of programming: abstraction, recursion, higher-order procedures, data-driven programming, interpreters, and the metacircular evaluator. The book's famous opening premise — that programs are written for people to read, and only incidentally for machines to execute — established a philosophy of programming as a medium for expressing ideas, not just instructing a computer. It was the introductory CS textbook at MIT for decades.

For founders

Graham singles out SICP in 'Hackers and Painters' as the programming book whose opening line he wishes everyone remembered: 'If I could get people to remember just one quote about programming, it would be the one at the beginning of Structure and Interpretation of Computer Programs: Programs should be written for people to read, and only incidentally for machines to execute.' This premise anchors Graham's broader argument that the quality of code is not measured by what the computer does but by how well it communicates intent to the next human who touches it.

For a founder, SICP's value is not in its specific language (Scheme) but in its philosophy. The metacircular evaluator — a Lisp interpreter written in Lisp — demonstrates that the line between programming language and program is arbitrary; your application can grow its own language. That's the same bottom-up philosophy Graham credits for Viaweb's speed. A founder who understands SICP's core insight — that abstraction is about suppressing irrelevant detail to reveal structure — has a mental model that applies to product design, team organization, and architecture decisions equally. The ideas are more important than the syntax.