Holding a Program in One's Head (2007)
paulgraham.com
Holding a Program in One's Head (2007)
1–10 of 104 posts
Re: Holding a Program in One's Head (2007)
#2I definitely work best in 4-10 hour focused sessions, can easily do a weeks worth of work in one go. I can't always make those sessions happen though. Coding block? I guess I should write. [1] :)
Around the time this was written, I was working somewhere you had to break all the rules to get anything accomplished. The un-sanctioned stuff was of much higher quality and function.
[1] http://tommy.authpad.com/understanding-and-combatting-coder-...
Re: Holding a Program in One's Head (2007)
#3Re: Holding a Program in One's Head (2007)
#4Paul has written such splendid pieces that should resurface from time to time. This thread has happened [1] to YC community before.
Re: Holding a Program in One's Head (2007)
#5Re: Holding a Program in One's Head (2007)
#6I hope we discover a scalable alternative to holding a program in one's head. It doesn't need to be as good as holding a program in one's head, it just needs to approximate it.
(Edit: see also Design Beyond Human Abilities by Richard P. Gabriel.)
Re: Holding a Program in One's Head (2007)
#7I agree with the power of holding a program in one's head, but I also consider this a (the?) serious bottleneck in the software engineering. I hope we discover a scalable alternative to holding a program in one's head. It doesn't need to be as good as holding a program in one's head, it just needs to approximate it. (Edit: see also Design Beyond Human Abilities by Richard P. Gabriel.)
The complexity comes in that this really does just approximate holding the whole program in your head, and sometimes you find the API is not adequate to what you want to do. Then you're back to square one, except with a codebase that by definition is too big to hold in your head.
Re: Holding a Program in One's Head (2007)
#8Recently I was working on/ creating pretty complex algorithms with gargantuan cobweb of edge cases. Not only did I had to work for 15+ straight hours, but in order to maintain productivity fasted (bar caffeine, few nuts & water) every alternate day to keep the steam going.
Incredible times, and rather close to reaping the fruits now, but there is a pretty good chance that I would not have been here had I not read and internalized this essay- was grappling with several decades of CS research though in much less theoretical setting.
Re: Holding a Program in One's Head (2007)
#9Re: Holding a Program in One's Head (2007)
#10pg does mention that succinct programming languages help, which is true, but they don't go nearly as far as they could. Like him, I use Lisp for that very reason, but Common Lisp is 30 years old -- why hasn't the state of the art advanced since then? It's really quite shameful.