3 ms·
See also Peter Naur's "Programming as Theory Building". Essentially,the original authors of a system have a theory (what nowadays we would call a model) in thei
by hikarudo 5y ago
See also Peter Naur's "Programming as Theory Building". Essentially,the original authors of a system have a theory (what nowadays we would call a model) in their minds of the system, of its architecture. Something that is difficult to convey by code alone. So when a new batch of programmers start working on that codebase, they don't have any knowledge of this theory, so their fixes and new features are of much worse quality than what the original programmers would have proposed.
- erikerikson 5y agoThank you for mentioning this paper, I've been trying to find it unsuccessfully for too long! Yes, we establish a theory of the problem and a theory of the solution. Coherent updates relate to these both.
- raincom 5y agoJust like there is a difference between interface and implementation in OOP languages, here 'theory' is in the heads of the original builders of the software, and the 'implementation' is the code written in particular languages. It is easy to debug and fix when one has that 'theory' in one's head.