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
Explore this link on the map →related reading
- how I think when I think about programming - alice mazalicemaz.com
- The Grug Brained Developergrugbrain.dev
- Reflections on 10,000 Hours of Programming | Matt Rickardmatt-rickard.com
- The Joel Test: 12 Steps to Better Code – Joel on Softwarejoelonsoftware.com
- Teach Yourself Programming in Ten Yearsnorvig.com
- Learnable Programmingworrydream.com
- E.W.Dijkstra Archive: The Humble Programmer (EWD 340)cs.utexas.edu
- Work 2.0 - the interruptible programmer · SteveStreeting.comstevestreeting.com
- Have you ever experienced Tetris syndrome with programming? What was your experience? | Lobsterslobste.rs
- Painless Functional Specifications – Part 3: But… How? – Joel on Softwarejoelonsoftware.com
- Mastering Programming - by Kent Becktidyfirst.substack.com
- Things unlearnedscattered-thoughts.net