The Hermit Poet

April 4, 2006

Programming and Poetry (Revisited)

Filed under: General — Neil Aitken @ 4:40 pm

As a former computer programmer, the topic of how programming and poetry intersect has always been of interest to me.  Recently as I have begun researching a new series of poems which explore these intersections, I have come across a number of intriguing articles.

There seem to be a few different approaches to this topic.

David Johnston addresses the cognitive and linguistic similarities between the act of programming and the act of writing poetry in his essay “Programming as Poetry.”

Sharon Hopkins explores the suitability of computer languages (specifically Perl) for writing poetry, as well as evaluating exant attempts at writing the compilable poem.  Her paper, “Camels and Needles:  Computer Poetry Meets The Perl Programming Language” is perhaps the most articulate and complete examination online. contains an entry by Florian Cramer on the two most literary efforts to date out of the compilable Perl poetry camp:  “London” and “Jabberwocky.”   Both of these poems reflect not merely an effort to transcribe the poem to bear some superficial resemblance to their originals, but also a sophisticated approach which leverages the Perl language itself so that the programs actually internally in execution relate to the poems.  “Jabberwocky,” for instance, not only can be read as a close transcription of the original, but when executed outputs two lines:

Beware the Jabberwock! at line 8.,
Beware the Jubjub bird at line 10.

Regarding “London” which is based on a William Blake poem of the same name, Florian Cramer notes:

While it is syntactically correct Perl code, it still does not “properly” run because it relies upon an imaginary software components, namely the module “”. 58 of the 189 lines contain program code, the rest are comments; to the reader, it looks as if the code were unfinished and parts were missing. Aside from the comments, it contains a definition of what in Perl is called an “anonymous array”, i.e. a variable storing several values at once, called “@SocialClass”, a database (or, in programmer’s lingo: “nested hashtable”) “%DeadChildrenIndex”, and two sub-programs (“subroutines”) “CryOfEveryMan” and “Get_VitalLungCapacity”. Thus, translates what “London” describes into a symbolic machinery. It is an interpretation of the older poem in a double sense: as code executed by a programming language “interpreter”, and as a social-political reading of Blake’s poem, focusing the subject onto dead children

These poems seem the exception to the rule.  For the most part, computer poetry tends toward sentimentality, triviality, and pop culture parody.  One repository of such poetry can be found here and demonstrates clearly why some might view “the history of programming language poetry as the history of missed chances” which currently is best characterized as being better noted for its ” juvenile sentimentalism and subjective introspection” (Cramer,

Leave a Reply