Good essay writing is very similar to good software writing. An Essay and code, both are very structured. An essay has words, sentences, paragraphs and themes. Code has expressions, methods, objects and modules. An essay and code, both when written correctly are a pleasure to read. The properties of a good essay are applicable to code in equal measure.
Each sentence in a good essay, makes sense in its own rite. But at the same time, it maintains an un-interrupted flow between the sentences before and after it. The same is true for a paragraph. Each expression in code must make sense in its own rite, at the same time it should maintain an un-interrupted flow between the expressions before and after it.
Each paragraph in an essay describes one and only one concept. Each method in a good code does the same. A paragraph, that adds a snide comment on another concept described elsewhere is a pain to read. The same is true for a method. Conversely, each concept is described in a set of consecutive paragraphs. Similarly, each concept in code is described in an object.
Good essay and good code, they both flow. Neither throws stuff at the reader which he/she does not understand. If they are trying to describe a concept that the reader does not understand yet, they do so gradually, showing the reader every link in the chain from the understood to the less understood.
Quote for the day,
“Programming is understanding” – Bjarne Stroustrup.