Words » Poetry

Poetry 2.0



"This is some next-level sh--," Brooklyn-based JavaScript developer Jed Schmidt told Joel Dart. It was May 2013, and Dart, an Indianapolis software developer, had just shared his newly minted ideas with a small knot of programmers at JSConf US, one of the most creative and forward-thinking conferences for the JavaScript community. Dart was seeking feedback on a proposal to publicly present his most recent project, a series of poems written in JavaScript.

JavaScript is a computer programming language developed in the 1990s and is more often associated with Windows Internet Explorer than with Walt Whitman. To the untrained eye, it is indistinguishable from C++, Perl, Python or any other programming language; in other words, it is a largely indecipherable goulash of word fragments, symbols and punctuation marks -- like an e.e. Cummings poem gone terribly wrong. (And indeed, some of e.e. Cummings' poems are nearly as inscrutable as any line of code.)

To the layman, Joel Dart's JavaScript poetry reads much like traditional verse, but to software programmers, it's sheer genius. - JOEL DART
  • Joel Dart
  • To the layman, Joel Dart's JavaScript poetry reads much like traditional verse, but to software programmers, it's sheer genius.

There may be many wonderful uses for JavaScript -- like building Web pages and widgets -- but surely writing poetry isn't among them. That's dead wrong, Dart says. He notes that there's a lot of creativity and a lot of elegance in code, particularly in JavaScript. "Programming languages are languages," he says, "and in the same way that you can have a really nice turn of phrase in English, you can have a really nice turn of phrase in JavaScript."

JavaScript, he explains, is a very flexible programming language, designed to encourage developers to be creative and to fill in the gaps themselves. In that way, he notes, "it's a very community-oriented language."

That's all well and good as it applies to programming. But how can a programming language be used to convey the pathos of poetry? How does it actually work? In many ways, Dart's poems read just as conventional poems might read. But those who are familiar with JavaScript will see that the programming language imbues the text with an additional layer of meaning, much in the same way that music colors the lyrics of a song.

For example, the speaker in the poem "Privilege" is self-assured and almost swaggering, brimming with confidence in his achievements. "Control is power," he says, "and I am in control of my life." But, Dart explains, the text is full of what are called global variables, a very common programming error, which introduces instability to the program and seriously undermines the speaker's presumed control. Ultimately, Dart is examining the invisible forces and hidden influences that are at work in a person's life, implying that the future is never entirely in one's own hands.

"Variation1" is Dart's "admittedly emo" first poem. (What budding poet doesn't have one of those?) Dart uses it to examine human pride, imperfection and potential. In it, the speaker struggles with his own flaws; he's remorseful but ultimately resistant to change and trapped in a cycle of negative behavior. Appropriately, on line six, the code gets stuck in an infinite loop. An infinite loop is a catastrophic error in coding, "one of the worst possible error states you can be in," Dart says. It can cause the entire program to crash. In the context of the poem, the loop is forever approaching "healing" on line seven but never able to reach it, reflecting the speaker's mental and emotional state.

Joel speaking at the 2013 JSConfEU. - HOLGER BLANK
  • Holger Blank
  • Joel speaking at the 2013 JSConfEU.

It may seem like a radical concept, but Dart posits that what he's doing isn't new at all. He points out that the same has been done with poetry and music for millennia. "Taking a text that is complete in and of itself and extending its metaphors with another medium is actually one of our oldest human traditions," he says. He's just changing the medium.

Perhaps -- but aren't music and poetry complementary disciplines? The two seem like a natural pairing, while many people would view computer science and poetry as innately divergent pursuits. But Dart doesn't see it that way. "My liberal arts education was important to me," he says. "I felt that I better understood my discrete math class because we were covering fundamentally the same thing in my philosophy class. We actually see these types of crossovers all the time -- covering the same thing, just coming at it from different angles. I do think it's pretty cool, that it's okay to be interested in both and that you can maybe be a little surprising in your interests." Besides, he adds, "because software exists to help people, the best programmers that you'll find are often the most empathetic."

Unfortunately, for readers without at least a basic understanding of JavaScript, the nuances of Dart's poetry will be largely lost on them. But everyone can appreciate pushing one's craft to new levels, exploring the boundaries of art and bridging the gaps between science and self-expression.

After receiving positive feedback from his peers at JSConf US, Dart was encouraged by Chris Williams, one of the conference organizers, to submit his proposal to present at JSConf EU. Williams was so enthusiastic about Dart's ideas that he asked him not to present them at anything other than a JSConf event. Four months later, Dart was on a plane to Berlin, preparing to speak to the international JavaScript community.

It is, perhaps, significant to note that Dart's contemporaries at JSConf were entirely supportive of his work. New ideas are not always immediately embraced by the creative community. When noted American poet William Carlos Williams was asked whether he would consider the aforementioned e.e. Cummings poem, "(im)c-a-t(mo)," to be a true poem, he said no. "I would reject it as a poem," he admitted. However, Dart's own experimental foray into the uncharted possibilities of programming languages was met with high praise. No one told him, "That's not coding." The JavaScript community is one that fosters and encourages creativity, and in fact, one of JSConf's stated goals is "pushing the boundaries of what is thought to be conceivable with [JavaScript]."

Dart's personal goal isn't necessarily to show off the infinite capabilities of JavaScript -- even if it is his favorite language. He ultimately just wants to engage in a meaningful dialogue with his professional community. His poetry and artist statement are posted on GitHub, where he hopes that other programmers will eventually post poems of their own.

"This is a language," he says, "and like any other language, it can be used to express things. It can be used to express truth, it can be used to express beauty ... we can talk about our humanity."

If the JSConf mission statement -- to make the technology community "better, more diverse and more human" -- is any guideline, then Dart got it exactly right.

Add a comment