Actually, I don't know how many programmers are also writers. My instincts tell me not many, but my instincts have been wrong before. ("Heroes had a great first season... let me watch the next two!")
But for those of you who cross over, let me give you some truth. Good writing is object oriented.
First, what do I mean by that? Well, in programming terms, an "object" is a particular collection of data paired with what you can do with it. In essence, it is a self-contained capsule of programming that can be used by other programs in a predictable way. You can change the programming behind that object, but so long as it behaves the same to the programs that use it, it doesn't matter. Like I said, encapsulated.
It gets deeper than that. One object can be essentially a special case of another. We say that it inherits from the original class. If you change the original, you also change the classes that depend on it.
So what does this have to do with writing? It all comes down to good scene structure. A scene has to establish setting and point of view. (Think of that as declaring your local variables.) It must then introduce the conflict that the scene is about. The conflict is developed, comes to a brief climax, and then ends with a hook for the next scene. You could think of all of these things as methods that are defined for the Scene class.
But to achieve good writing, we can't just close off the whole scene so that nothing else can affect it. Otherwise, we've got a series of short vignettes, not a novel. A scene has to foreshadow future scenes, and to pay off previous ones. In order to make the novel hold together cohesively, you have to be aware of what you're foreshadowing and what you're paying off.
The reason you have to be aware of it is because of revisions. Let's say I've finished my novel, and I want to revise it. I get to a scene that needs to be rewritten. I rewrite it. And suddenly, the foreshadowing I used to set up later events just isn't there anymore.
In object-oriented terms, I changed the definition of the class, and now the old method and property calls don't work right anymore. Instead of changing the class definition, I really just want to make the code work better, while leaving all the structure in place.
In order to make a revised scene work, you have to understand precisely what it accomplishes in the overall narrative. Then, make sure the rewritten scene accomplishes the same goals.
No program, and no novel, works right the first time. Don't be afraid to debug.
No comments:
Post a Comment