Daniel Golding in Crikey Oct 2 talks about Why Code is Not Poetry.
He’s right in his conclusion.
Claire Hosking says some code is poetry, arguing from elegance: I think she’s wrong except in a metaphorically stretched (poetic) meaning of “poetry”.
Computer program code is written with intention, mostly by human people (discounting the code that’s generated automatically by another program at some remove from the origianl person). Good writing is also intentional. But not all good writing is poetry. The fact that the medium of writing code is the same set of letters and symbols that can be used to write poetry – and prose, and blackmail letters, and political conversation, is of no account. What’s the intent? and how does it read to humans?
Some program code is written with an attempt at elegance, and some of the best and most readable code has been laboured over to improve its elegance. But elegant writing isn’t enough to make it poetry, even less than a mathematical proof is poetry. All writing is communicating something. What code communicates is in aspects of language of structure, action, and infomartion relationships: not the aspect of language that poetry uses, of metaphor, with enlightening conjuctions and disjunctions of concepts, allusions and new angles on emotional relationships. On the contrary, program code is in the aspect of making and controlling logical connections of single meanings, of control, of precision. Relationships between entities in the program are made to be be well defined, not fuzzy and shaded with multiple meanings.
Code always means one thing to the computer that interprets it. There is some room for a difference in interpretations: particular program code may not be read by people to mean the same thing as it does to the computer, whether the poeple are the writer or another reader. It is notoriously easy unintentionally to write code that misleads the human reader to interpret it away from the meaning to the computer (which is why we code developers spend so much time testing and degugging code).
We can admire and aspire to and admire elegantly great mathematical constructions, elegant efficient engineering design of bridge or machine, programs written with elegance and parsimony, with lots of quailties like easy understandability, easy extension, powerful well-encapsulated expression of abstract ideas over the vast, smeary, fuzzy spaces of information. That’s not poetry to me. I like both aspects of writing and reading, but I haven’t seen poetic insight and expression in any program code.