the nature of software
n5321 | 2026年1月28日 22:38
The human mind is seldom satisfied, and is certainly never exercising its highest functions, when it is doing the work of a calculating machine. What the man of science, whether he is a mathematician or a physical inquirer, aims at is, to acquire and develop clear ideas of the things he deals with. For this purpose he is willing to enter on long calculations, and to be for a season a calculating machine, if he can only at last make his ideas clearer.
James Clerk Maxwell
框架
“Conceptual integrity is the most important consideration in system design.” — The Mythical Man-Month (1975)
“Good software, like wine, takes time. It is the conceptual design, not the coding, that defines the quality.” — Paraphrased Brooks, often cited in software design literature.
2️⃣ David Parnas (modular design guru)
“The essence of software is the intellectual content, not the physical realization.” — Parnas, 1972 (modularization papers)
Echoes Brooks: software is intellectual/abstract, code is just an implementation.
3️⃣ Brian Kernighan & Rob Pike (Unix authors)
“Controlling complexity is the essence of computer programming.” — The Practice of Programming, 1999
Complexity arises from conceptual structure, not typing mistakes.
Again, the “essence of software = conceptual design.”
4️⃣ Peter Naur (Turing Award, ALGOL pioneer)
“Programming is not about coding. Programming is about defining, organizing, and understanding concepts.” — Programming as Theory Building, 1985
Directly echoes Brooks: the mental/conceptual model is primary.
5️⃣ Edsger W. Dijkstra
“The function of a good software engineer is to reduce the conceptual distance between human understanding and computer understanding.” — EWD 498, 1970s
Emphasizes conceptual clarity