Holding a Program in One's Head
August 2007 A good programmer working intensively on his own code can hold it in his mind the way a mathematician holds a problem he's working on. Mathematicians don't answer questions by working them out on paper the way schoolchildren are taught to. They do more in their heads: they try to understand a problem space well enough that they can walk around it the way you can walk around the memory of the house you grew up in. At its best programming is the same. You hold the whole program in your head, and you can manipulate it at will. That's particularly valuable at the start of a project, because initially the most important thing is to be able to change what you're doing. Not just to solve the problem in a different way, but to change the problem you're solving. Your code is your understanding of the problem you're exploring. So it's only when you have your code in your head that you really understand the problem. It's not easy to get a program into your head. If you leav
Holding a Program in One's Head --> August 2007 A good programmer working intensively on his own code can hold it in his mind the way a mathematician holds a problem he's working on. Mathematicians don't answer questions by working them out on paper the way schoolchildren are taught to. They do more in their heads: they try to understand a problem space well enough that they can walk around it the way you can walk around the memory of the house you grew up in. At its best programming is the same. You hold the whole program in your head, and you can manipulate it at will. That's particularly va
related reading
- how I think when I think about programming - alice mazalicemaz.com
- Cognitive load is what mattersminds.md
- How To Understand Thingsnabeelqu.substack.com
- Think real hardbenkuhn.net
- On Coding, Ego and Attentionjosebrowne.com
- Reflections on 10,000 Hours of Programming | Matt Rickardmatt-rickard.com
- How I Hire Programmers (Aaron Swartz's Raw Thought)aaronsw.com
- Emotional managementscattered-thoughts.net
- Essays on programming I think about a lot | benkuhn.netbenkuhn.net
- A GPS for the mind | thesephist.comthesephist.com
- How to read a codeiamjonas.me
- Get better at programming by learning how things workjvns.ca