On Poetry, Programming, Chaos, and Cosmos

By

A few years ago at Hutchmoot, Pete Peterson said something that has been enriching the leaf-mould of my mind ever since. Quoting Walt Wangerin, Jr., Pete talked about how the Sanskrit word cinoti “makes of the poet ‘a heaper into heaps, and a piler into piles.’”

In that essay, Wangerin goes on to write:

We artists, we writers—we come upon the stuff of our crafty attentions already there. But we find it a mess. Hopeless. A meaningless chaos. Our job is to organize. To order. To heap certain things with certain things over here, and to pile other things over there. To declare associations and differences and relationships. To make of this chaos a cosmos, which we do by translating things into language, and language into character and episode, and episodes into whole stories.

—Walt Wangerin, Jr., “Story and History, Shaping the Day”

There is a shelf in my library labeled “Programming and Other Poetry.” On it, T. S. Eliot, Gerard Manley Hopkins, and Anne Bradstreet sit nestled among books on algorithms, data structures, and business analysis.

Every weekday morning, I go to work at a fluorescent-lit office full of standing desks adorned with rubber duckies, computer screens, 3D-printed desk toys, coffee mugs, and printouts of programming memes. (“It was the data,” sobs First World Problems lady, ”Just like always.”)

There, for eight hours, sometimes punctuated by lunch if I remember to eat, I immerse myself in wreaking order from chaos. I shape the vague longings of pharmacists into clearly worded statements of work. I ponder business requirements and conform them by imagination into my software’s existing architecture. And, most glorious of all, I use words to breathe new worlds into being, or to reorganize worlds that have grown chaotic.

Writing poetry is the closest thing I know to writing code. Every word, every line break, and every punctuation mark has enormous significance.

Micah Hawkinson

In the beginning, there is a blank screen, ominous and full of promise all at the same time. I know that my first effort will almost certainly be wrong. I will probably even break the rules of the language, causing the compiler to scream errors at me. But I will fix my mistakes until the code compiles. Then I will run it, and find problems, and fix them, and run it again, until I can’t find anything else wrong. Then, I will move on to the next piece of the solution and start the whole excruciating process over again.

Finally, when the code is as done as I know how to make it, I will beautify it. I will remove duplication, make logic more elegant, and straighten out the crooked lines, until it is ready to be reviewed and merged into the trunk of our code-tree. It is a long road to my destination, but I have a general idea of how to get there.

The cursor on the blank screen flashes at me, daring me to type the first word. And with fear and trembling, I do.

Writing poetry is the closest thing I know to writing code. Every word, every line break, and every punctuation mark has enormous significance. Each decision must be carefully considered, weighed, and fixed or thrown away if it is found wanting. In poetry, as in code, large mistakes are irritating, but subtle errors can be disastrous.

I am not the first person to observe these similarities. In The Mythical Man-Month, Frederick P. Brooks, Jr. writes:

The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.

—Frederick P. Brooks, Jr., The Mythical Man-Month

As beings made in the image of the Great Maker, we delight in shaping the world around us, in forming a cosmos from the chaos.

Sometimes, while I wait for my code to compile, I write poetry on my PC’s other screen. I choose my words carefully, line them up in order, read them aloud, and savor their taste on my tongue. Occasionally, my co-workers give me funny looks and turn their headphones up. After I’ve written a stanza or two, I rethink the lines, revise them, play with them, seeking out lovelier ways to tell a truer tale.

When I increase my automatic test coverage, or rewrite a block of code in half the lines, or rename a cryptic variable to something clearer, I feel the same thrill that I get from writing the perfect final couplet of a sonnet. I am working on this world in my hands, shaping it through wisdom until I can sit back and call it very good. In this, I reflect my Maker.

I’m not really suggesting that code is a sub-genre of poetry, or even that it is equally important. After all, poetry is the pursuit of truth by way of beauty. Computer science is, as Aristotle said of money, “merely useful and for the sake of something else.” In my case, the “something else” is providing for my family, giving to build God’s kingdom, and supporting other sub-creators as much as I can.

But this much is true: Our God-given hunger for a beautiful, well-ordered world touches every area of human endeavor. I’m thankful to have a job where I can serve others by building worlds of pure thought-stuff, even if those worlds are merely useful. And I trust that my code, like my poetry, echoes God’s Word that called His good world out of the formless void.


8 Comments

  1. JamesDWitmer

    “But this much is true: Our God-given hunger for a beautiful, well-ordered world touches every area of human endeavor. …And I trust that my code, like my poetry, echoes God’s Word that called His good world out of the formless void.”

    Beautiful. Thank you for this.

  2. Elise M

    @elisem

    This is beautiful. It resonates with what I have been reading recently in The Practice of the Presence of God: that every task we do can be done for and with the love of God. Finding the beauty and poetry of code is a wonderful way of participating in God’s good work through your own work.

  3. Tyler

    @tyrogness

    It is so encouraging to hear a fellow programmer/poet put these words out there. I often feel as though the work I do juxtaposes my creative expression (and I’d still argue there are aspects of it that do), but you’ve beautifully highlighted the large space where they overlap. This perspective is invaluable in the busy work world. Thank you so much for this post and the encouragement!

  4. The Warren & The World Vol 10, Issue 2

    […] Afew years ago at Hutchmoot, Pete Peterson said something that has been enriching the leaf-mould of my mind ever since. Quoting Walt Wangerin, Jr., Pete talked about how the Sanskrit word cinoti “makes of the poet ‘a heaper into heaps, and a piler into piles.’”Read more […]

  5. Jay Williams

    I’m reminded by the footer included on every wordpress.org page “Code is Poetry”. Granted not all poetry is well written, and the same can said about programming. But when one really pours their heart and soul into a poem or program, it shows. There’s a level of pure clarity and beauty in well written stanza.

  6. R.J. Anderson

    I love this! So often people talk about STEM disciplines and the arts as though they’re at odds with one another, or at best like they’re separate and non-overlapping magisteria. But you do a great job of highlighting the similarities and harmonies between your code-writing and your poetry, and it was a joy to read about it. There’s beauty and creativity in everything, if our eyes are open to see it.

If you have a Rabbit Room account, log in here to comment.

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.