The Electronic Labyrinth
HomeContentsTimelineBibliographyIndex

The Programmer as Literary Artist

Programmers have long been concerned about the readability of their code. COBOL has been criticized for its verbosity, and is sometimes said to have been designed with business managers, not programmers, in mind. At the other end of the scale, C's terseness has earned it a reputation as a "write-only" language. Especially when working on projects in groups, programmers spend a significant amount of their time "commenting" their code--writing meta-textual marginalia in an attempt to render the syntax clearer for future readers. Often, flow diagrams, program call trees, and other illuminations are added for further contextualization. Programmers are often criticized as being a technological priesthood. This appellation is doubly appropriate when considering the amount of time they spend scrolling through documents, writing glosses, and illuminating handed-down scripts.

Within each routine, program flow constructs such as IF...ENDIF and DO...ENDDO provide hierarchies similar to outlines and section / paragraph structures. A programmer is always aware of the visual layout of program code. In C, for example, any amount of "whitespace" (spaces, tabs, etc.) may be put between symbols. Code statements may be broken over two or more lines. The following code:

int i;int j=10;/*second variable*/char name[]="The E\
lectron\
ic Lab\
yrinth"

is equivalent to:

int i; /* first variable */
int j = 10; /* second variable */
char name[] = "The Electronic Labyrinth"

Note that meta-textual information (comments) are considered as whitespace to the compiler. In other words, they are not processed into executable code.

The structure of code at a local level is, of course, highly determined. At higher levels, the rules of structured programming influence how long a given routine should be. Each is supposed to accomplish one modular task and then conclude. The parallel with a hypertext node is strong.

Donald Knuth is the most visible champion of the intelligible use of structured programming and comments. He calls this practice literate programming.

Though it may be possible to write a poem in C, such an exercise is more likely to be successful in HyperTalk. John McDaid has experimented with this idea.

Another programmer's tool which may be turned to artistic ends is version control.


© 1993-2000 Christopher Keep, Tim McLaughlin, Robin Parmar.
contact us