TLDR
-
Peter Naur’s 1985 essay argues the real output of programming is a shared mental model of the system, not code or docs.
Key Takeaways
-
Naur’s “theory” is the collective understanding programmers build: requirements, design intent, and how everything relates.
-
Code, docs, tests, and diagrams are all secondary artifacts that exist to communicate this theory to others.
-
Without internalizing the theory, any modification produces hacky results; feature feasibility cannot be honestly evaluated.
-
Design Patterns and Domain-Driven Design function as theory-communication tools under this framing, unifying otherwise separate practices.
-
“Intellectual Control” – having a verifiable mental model – maps directly onto Naur’s theory-building goal.
Hacker News Comment Review
-
No substantive HN discussion yet.
Original | Discuss on HN