The Relationship Between Programming and Creative Writing
From PlasmaWiki
I’ve always been an avid reader. And, I’ve been programming for as long as I can remember. It has become apparent that programming and creative writing are two sides of the same coin. Both programming and writing use a structured organization and logical flow that actually compliment each other. I learned this first with literature.
I first read through the Chronicles of Narnia at about age seven. Shortly there after I first read the Hobbit, The Lord of the Rings, and the Silmarillion. I began to play with and learn the meter, rhyme and flow of language. In college I was confronted with the organization of good writing in my university’s creative writing class, particularly with essays.
There are some inherent rules to formulating the flow and order of sentences, paragraphs and essays as a whole. These rules need to be obeyed for the reader to understand the point, purpose, and logic of a written work. As we all know, we must start with a thesis statement. This is the one statement that tries to sum up the final point of your work or at very least the premise for the thoughts that are strung together for your reader. You present this early in your essay and surround it with introduction material and maybe even hints about where you will go later on. Then come your logical points. You have to break up your thesis into it’s qualitative sections. Each section is divided up into paragraphs with a specific detail. ([see the wikipedia definition]). These are tied together with introductory sentences, sentences that sum up the detail and then finally a sentence that leads the reader to the next paragraph. Your points are ordered by having the next to the strongest first, then progressing down to your weakest and finally your strongest. All of these organizationally features are easy to pick out if you are looking for them.
Often we are taught to use an outline to organize thoughts before actually writing. As it turns out, reversing the process by outlining existing writing is a good tool for creating a more in-depth understanding of the subject the author is trying to get across. I start out by underlining transition sentences, highlighting detail topic sentences and writing short blurbs summing up each point and double highlighting the essays thesis. Using visual techniques like these allows readers to step out of the linear representation of writing (left-to-right, top-to-bottom) into a more 3D representative organization where parts are tied together loosely and ideas are more freeform, but still logical.
So where does this tie into programming? By definition programming starts out as a structured language. We even often use punctuation to highlight the organization like in Java and C++ with curly braces. In functional oriented languages like BASIC we break up particular operations into subroutines and we include transition phrases like the subroutine’s name and a return statement. Even with the most complex Object Oriented design layout we still can use outlines to explain the relationships between logical pieces. Our smallest functional parts (out detail paragraph equivalent) like for loops, case statements, if statements, and while loops still have the old linear methods broken into logical self existing fragments. Our one-line ‘sentences’ can stand alone but really don’t have meaning without the context of their enclosing organization.
What’s truly interesting is that the same thought processes that go into creating essays are used throughout our experience, not just in programming. We compartmentalize steps in construction, and identify the transitions. We organize the parts of a lab experiment into steps and order them in importance and logical progression. We envision the goal of a pot and detail the strokes and movements needed to “prove our thesis”. Unfortunately we sometimes get into ideograms of standardized thought that dictate that the written word needs to be understood in a ways that is actually counter to how it was even formulated to start with. Often we define reading comprehension as the necessity of gathering in one long stream of consciousness into our brain and pick sum up the one theme. Even when the author broke up the stream into definable and easily understood parts we tend to not allow readers to go through the same operations. They are required to make a cognitive jump just because they are consumers.
My reading comprehension scores were at 7th grade level in 3rd and at 13th grade level by 6th. I wonder how much this was because I was dealing with the word on the page in the same way that I dealt with problem solving in the programming world… slicing and dicing and biting off chunks I could chew.
Other views:

