Musings on programming [entries|reading|network|archive]
simont

[ userinfo | dreamwidth userinfo ]
[ archive | journal archive ]

Mon 2006-05-15 14:10
Musings on programming
LinkReply
[personal profile] simontTue 2006-05-16 09:17
Goodness me. 300k outclasses me by some distance, and several 300k programs even more so! My biggest work is PuTTY, which currently weighs in at about 100k but only because of significant contributions from other people. (In particular, that's counting all the OS-specific subdirectories, one of which – the Mac OS Classic port – I didn't write a single line of.)

So now I think it's only fair that I turn my own question round, and instead of asking why many people haven't written anything as big as I have, ask myself why I haven't written anything as big as you have. Hmmm.

Certainly the biggest reason is that I've never encountered a problem which I felt motivated to solve and which needed a program that big to solve it. I'd be interested to know what yours were, in fact.

But also, I think scale does affect me in a way which you say it doesn't affect you. The bigger the program, the more aware I am that I'm gradually losing track of how the details of it work, and the more mistakes I make along the way. It's entirely possible that 300k might be beyond my capacity (although, having never tried it, it's a bit hard to tell). Then again, it might be that I could have hacked a 300k-line program in my prime (loosely defined as age 20-21ish, when I had less experience but vastly more energy and a much better memory) but am past it now.

I may be limited, it occurs to me, by the fact that I rely heavily on my intuition rather than formal reasoning. I had this in maths: I blazed through school maths lessons without slowing down, tackled first-year university maths with no difficulty at all, did nearly as well in the second year, and suddenly came up short in the third year when I discovered that the levels of abstraction had suddenly reached the point where my intuition wouldn't quite encompass them any more, which meant that suddenly I only had formal reasoning and algebra to work with. I think up until that point I'd been relying on an unusually good intuitive grasp of the concepts to do most of the work, and then going back and filling in the details of the algebra and the proofs once I knew where they were headed, so when I suddenly had to rely solely on nonintuitive methods I found it much harder. It wouldn't surprise me to find that the same sort of thing happens to me with programming; I know I do a lot of high-level design, for example, entirely in my head, which is bound to mean it's limited by the dimensions of my skull...
Link Reply to this | Parent
navigation
[ go | Previous Entry | Next Entry ]
[ add | to Memories ]