Programming is literature

This paper by Richard Gabriel and Ron Goldman describes a potential future for software development, extending the open source concept and trends.

What I found most interesting was the description of software as literature. Alan Francis made a similar comment the other day. Programming is often still seen as the bottom rung of the software industry ladder, a distasteful task to be done only as long as necessary to enable promotion to analyst, manager or other non-programming role. How many software companies hire graduates as developers? How many hire graduates as architects or project managers?

Now consider programming as literature. A programmer’s mental activities bear a striking resemblance to those of an author. The programmer’s task is to find the means of expressing the concepts in their mind in terms a computer can understand, ie a programming language. There are a multitude of ways of telling a computer to do something, even within a single programming language, just as there are a multitude of ways of expressing a concept in a spoken language. Some are mundane, some rude, some inappropriate, and some win their originators literary prizes.

The other analogy is that of how great authors become great. Most great authors are also great readers. The writers of tomorrow are influenced by the work of yesterday. In the programming world, this translates into open source. Open source represents the beginnings of a body of software literature. The closed source model, when viewed from a literary perspective, seems almost scandalous. Imagine if Dickens had only ever read his own work?