The everyday blog of Richard Bartle.
RSS feeds: v0.91; v1.0 (RDF); v2.0; Atom.
Previous entry. Next entry.
3:02pm on Monday, 8th April, 2013:
I was writing the lexical analyser for a compiler last month, but had to put it on hold while I marked assignments. Today, I realised I could do part of it a much better way than I was doing it. My reaction was damn, I'm going to have to throw all that work away and redo it.
This is how programmers think, at least when they're not under time pressure. If you come up with a better way of doing something, you throw away the old version and write the new version. All that effort you put into the old code is gone, and you're going to have to put almost the same amount of effort into the new code, but it doesn't matter because at the end you're going to have something superior with which you'll be really pleased.
Authors seem to think completely differently. When they find something that they've written doesn't work, they won't throw it out if at all possible. Instead, they write more to try to make it work. They're highly invested in what they've written and are exceedingly reluctant to discard all the great writing they've done. They especially want to hold onto the bits they're most proud of; discarding them is regarded as "killing your darlings". They hand over the job of culling to a ruthless, axe-wielding editor.
When I write, unless I'm under time pressure I take the programmer's approach. Characters are written out, 10-page set-piece events deleted, points I really want to make but that don't contribute to the plot, atmosphere or characterisation go by the wayside. I might keep the text itself if it's cohesive, in case I want to use part of it elsewhere. If I can think of a better way of doing it, though, I will. I'm as invested in it as I am my code, but realistic enough to accept what needs to be done. It's the same with game design: no matter how beautiful the mechanic, if it doesn't fit then it doesn't fit.
If I don't care about what I'm doing, that's when I'll finish it knowing I could have done it better.
About this blog.
Copyright © 2013 Richard Bartle (firstname.lastname@example.org).