Programs Represent Mental Models
Programs Represent Mental Models Good programs contain clear representations of mental models. This statement is obviously true, but so much can be reasonably said about it that it is hard to know where to start. First the basics of why it is true. Any program is a textual representation of how the programmer thinks the program is supposed to work. It contains instructions for the computer. It also contains signs and hints of the programmer's thinking. In the case of a good program the programmer has a clear concept of how the program is supposed to work, has represented it well, and has tried to make it easy for the maintenance programmer to maintain that conceptual clarity as the program's behaviour changes. Conceptual clarity is a sign of a good mental model. Therefore the program ideally contains clear representations of these mental models. PeterNaur has an excellent essay on this topic called ProgrammingAsTheoryBuilding. It can be found, among other places, as an appendix to Al
Good programs contain clear representations of mental models. This statement is obviously true, but so much can be reasonably said about it that it is hard to know where to start. First the basics of why it is true. Any program is a textual representation of how the programmer thinks the program is supposed to work. It contains instructions for the computer. It also contains signs and hints of the programmer's thinking. In the case of a good program the programmer has a clear concept of how the program is supposed to work, has represented it well, and has tried to make it easy for the…
related reading
- Mental Models: The Best Way to Make Intelligent Decisions (~100 Models Explained)fs.blog
- how I think when I think about programming - alice mazalicemaz.com
- Learnable Programmingworrydream.com
- Mental Models: Learn How to Think Better and Gain a Mental Edgejamesclear.com
- Essays on programming I think about a lot | benkuhn.netbenkuhn.net
- The Great Mental Modelsfs.blog
- A Framework for Putting Mental Models to Practice - Commoncogcommoncog.com
- The Mental Model FAQ - Commoncogcommoncog.com
- Learnable Programmingworrydream.com
- Holding a Program in One's Headpaulgraham.com
- ProgramBenchprogrambench.com
- Charlie Munger: Adding Mental Models to Your Toolboxfs.blog