Code and text Session 25

There is a relationship between writing code and writing text, certainly - or more precisely, there are various points of connection with greater or lesser degrees of similarity. Producing good code calls on some of the classical rhetorical skills. Take for example the five canons: arrangement is critical to producing good code; memory is necessary to recall proper forms for the programming language being used, names of variables, etc; and so on. At a higher level of abstraction, software developers often resort to metaphor in developing data and control structures and object models.

Of course, coding is also different from writing in a natural language. It's far more constrained. Programming languages have to be at least recursively enumerable, for example, and no such requirement exists for natural languages. Natural languages allow for ambiguities which would prevent formulating precise programs. And texts assume vast amounts of information about both real and perceived worlds which are unavailable to computers.

Since I'm a professional programmer, I can't say that building this project has led me to think differently about coding. What it has done is shown me how some professional writers approach the various tasks that span writing and coding, and that's been very useful.

Similarly, I imagine that coding experience is helpful for professional writers working in the software industry in any number of ways. It helps them connect with software developers. It helps them understand the restrictions facing the programmers and what assumptions they're likely to make. And even outside the software industry, experience with programming should give professional writers a useful perspective on how their tools work.