A while back I read a post by David Hansson on the five programming books that meant the most to him. In the post he made the comment that he considered programming to be a subset of writing - I had never considered this before. Inspired by his post I decided to order one of the books he recommended - “On Writing Well” by William Zinser - and see if I could draw any parallels between writing and programming.
After reading the opening chapter I could immediately relate to the book. For instance, in Zinsser’s description of authors he says that they are predominantly solitary drudges who seldom see other authors - you could replace the word ‘author’ with ‘programmer’ and this sentence would still hold true.
For me, the main message from the book is that writing (in particular non-fiction) is a craft that takes many years to master. The process of writing a good piece requires writing, rewriting and more rewriting. Under the section on practices Zinser highlights simplicity, removing clutter and style as vital skills for a good writer.
This is where I draw the biggest parallel between writers and programmers. A good programmer is one that programs in a clean, understandable way - all unnecessary complexities are removed from the code. The really good programmers I have worked with have this mantra of code it, then refactor and refactor some more.
Having read Zinsser’s book and what he expects of good writers I have to agree with David Hansson, programming for me definitely seems to be a subset of writing. Next time you write code, look at it as a written piece, something that will be read by other programmers - and ask yourself, will this make the best sellers list?