Live data from Hacker News

Holding a program in one's head

paulgraham.com

61–70 of 136 posts

Re: Holding a program in one's head

#61
I must say I recognice all the elements here and I have been working almost exact this way since I started in 1982. I will say the key element is thinking in visual terms, or to visualize the problem and solution. However, just a tip - I discovered two useful tools that helps me now that my memory is getting weaker (from the age? :) ). A dictaphone and a white-board, The dictaphone allows me to record ideas, snippets, reminders and such, even pratice presentations. This is very useful as I don't have to write it down anywhere. I also use a white-board to draw either bigger lines to confirm my idea, or write down details to have them displayed in front of me at all time so that I don't forget important, but perhaps subtle parts. Just my 2 cents. Thanks to mr. Graham for an excellent essay!

Re: Holding a program in one's head

#63
I think some high-class programmers don't really need to rewrite code to understand the system or to make changes in it. High-class programmers usually put minimal effort to achieve maximum result.

Re: Holding a program in one's head

#64
One missing point: preparation

I've been trying to get into a small program I need to write and am a bit stuck. After glancing at the (great) list in the article and realizing I can roughly control most of those elements, I think 'now why am I still stuck'? Oh I need to get this data structure from X, how to call that sub element from Y. Grunt work, yet details that easily fit into gaps between all the other various day to day distractions. So get all the junk together before that 12-36 hour marathon.

Re: Holding a program in one's head

#65
Most of this appears to be old coder wisdom and I fully agree with it. However, there is one point I am at odds with. I dislike code ownership and I think a small team of good people should be encouraged to review and rewrite any portion of the system they deem needs it. As Paul suggests, rewriting is core to understanding. Allowing and encouraging team members to rewrite improves both understanding and code. I realize this isn't old coder wisdom but I believe it is critical to making a small team behave more closely to the ideal of a single programmer.

-sdk

Re: Holding a program in one's head

#66
post #24

Earlier quoted context omitted.

Ha! I've got a Fang is from a They Might Be Giants song.

Hmmm... maybe I should name my band, er, startup We Threw Gasoline On The Fire And Now We Have Stumps For Arms And No Eyebrows (a NoFX song) :~).

Please List This Corp on the Stock Exchange

(...right about this time, some shithead will be drawing a fat fucking line, over the precis on our business plan...)

Re: Holding a program in one's head

#68
WOW what great insite. I have been telling my boss that I work much better at home with less distractions. Now you have pointed out why that is true. My boss is really against telecomuting. I am going to she them this article.

Re: Holding a program in one's head

#69

I completely agree with this. However, I have disdain for the word "programmer" to describe what I do. I am a "software developer" which describes it much better and indicates much of what you've said here. A "programmer" is a monkey that writes x+2=y a developer has domain knowledge over the problem he is solving. Let's change the terminology to fit the job.

Blah I hate the term "software developer", not so much because its inaccurate but because its a symptom of the greatest evil to ever face computer science; software engineering. Software engineering's relationship to computer science is like accountancy is to mathematics. Sure they both use maths but a thousand accountants aren't likely to come up with any great proofs (unless theres a genius amongst them who does th…

I think of the relationship between software engineering and computer science more like the relationship between architecture and physics. Software engineering describes the application of the theories of computer science to solve real-world problems.

Re: Holding a program in one's head

#70
post #60
post #24

Earlier quoted context omitted.

Hmmm... maybe I should name my band, er, startup We Threw Gasoline On The Fire And Now We Have Stumps For Arms And No Eyebrows (a NoFX song) :~).

If people want to use Now Form A Band to name their startups, I'm absolutely fine with that. http://www.nowformaband.com/

(Just as long as the startup also records music.)
Post reply on HN