Levels of abstraction

My husband is a programmer. A total nerd for it. Which is frustrating, during the second hour of a spontaneous technical lecture. However, a surprisingly large portion of the methods and approaches that he uses when he writes code are relatable to writing stories.

Yesterday we were sitting in the car on a parking lot in the forest, waiting for some friends running late. We were going to a lake to cook dinner over open fire. He started telling me about levels of abstractions in programming. How, when he writes code, he need to find the suitable levels of abstraction for the units within the program. The correct level of abstraction makes the program easier to understand, because he doesn’t have to bother with a sea of changeable details. It is easy to drown in practicalities.

When planning how to build a boat, on an overall level of abstraction you want to build something that floats, not to find out which nails to use. It is difficult but important to keep in mind what level of abstraction you are currently at. We all dive too deep sometimes.

I have been putting of starting my third manuscript since Monday, precisely because I can’t quite decide where I need to start. I jumped on his explanation. Could defining the abstraction level be a start? As in strating by deciding where to start?

I had him explain it to me several more times. Programming is complex, especially coming from someone who is too good at it to even recognize confusion in a newbie. But I think I got it. (He still had to correct my explanation in this post :p )

So today I sat down and found that my highest abstraction level got to be the theme of the story. Without it this story won’t have a purpose for existing in the first place. The second highest level seems to me to be internal conflict in my main character. Without it he won’t have a reason to be part of this story.  And the third level is the external conflict. Without it the two higher levels of abstraction won’t have a plot to influence.

I am not sure if I am using this approach in the most beneficial way yet, but I’ll have to start with what I got and see if it helps.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s