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] mair_in_grenderichMon 2006-05-15 13:32
I'm not sure how large is large. The largest things I've written have been projects for university dissertations (final-year undergrad, and masters). Neither of these are really big.

After that there have been a couple of things which I started expecting to take an afternoon, and went on tweaking and bug-fixing 16 hours a day for the next two weeks, which is a reasonable of coding time.

The problems I have with facing genuinely large projects (and there are one or two ideas I have had which I might have implemented if I had been... someone else) are

1/ the willpower/staying power/whatever: I'm bad at starting things for which I won't see results. Also, I tend to work in bursts; if I had a month off and no particular plans for it and was in a staying-in-and-doing-mental exercise kind of mood (rather than the bursting out and going to find hills to cycle up mood I'm mostly in at the moment), I might start on a large project. If I thought I was only going to work on something on saturdays, well, I wouldn't bother with things one week to the next

2/ I'm bad at the design. The two dissertation projects have both featured me trying to design the system, struggling for ages, giving up eventually and getting stuck in, writing *something*, finding it needs quite a lot of restructuring/reshaping (and not really having time for that as deadlines approach). This makes it quite hard to get started on things, as getting stuck in "somewhere" isn't terribly nice if you don't have a shape or routemap in your head. For me...
Once I work it out, I really *like* nicely structured large projects. Neat designs make me happy by existing.

3/ Ya, memory. This is why I work in bursts. I can collect a *lot* of information up in my head as I work on something, know how it all works and how it fits together. ... but if I then go on holiday for a few days, say, and come back to it, it's hard to pick up again.

I also have more of a mentality of getting-things-working with the intent to come back and nice them up later, my code is commented with things like "TODO: this assumes...", or "MING! this only works if..", or "DANGER: ... ". As the program grows this build up of dodgy crud becomes nastier and nastier...

Doesn't sound like I'm saying anything outside what you've thought of, then.
Link Reply to this | Thread
[personal profile] simontMon 2006-05-15 13:47
I'm giggling quite a lot at the comment that begins "MING!". :-)

But yeah, these all sound like things from my list. I hope enough other people comment that I can pull together a generalised idea of which ones seem to be the popular ones to cite.
Link Reply to this | Parent
navigation
[ go | Previous Entry | Next Entry ]
[ add | to Memories ]