Is Code Really Poetry?

For more than 2 years I have been intrigued by the tee I got from WordCamp Indonesia 2010. It has a line on its back, “Code is poetry.”

On many websites I found, “Coders write.”

Huh? What the heck are they talking about?

I often watch my fiancee, Ibnu, coding on a text editor. Well, I cannot comprehend his codes. On which plane of existence are they regarded as writing pieces?

Why do coders claim that they write when they, in fact, code? Coding is not writing, is it?

I threw this question on Twitter. My friends, mostly web developers and game programmers, immediately replied.

Now it starts to make sense. Writers communicate with the readers through a set of words in structured sentences, regulated by grammar, to express comprehensible thoughts and ideas. If we use such definition for coding, it means:

Coders use programming languages as Perl, PHP, Ruby on Rails, etc, while we use human languages as English, Spanish, Chinese, etc. They are called languages because they serve as communication methods. Coders use their languages to talk to the computers, we use our languages to talk to other human beings.

Coders use a set of symbols known as codes, while we use a set of symbols known as words.

In order to attain an effective communication with the ‘readers,’ coders follow certain set of rules; in human languages we call it syntax. Why? Because they need the computers to understand what they are ‘saying’; in human languages we call it semiotics.

Okay. I get it. Coders do write.

However, I still cannot totally understand the self-claim, “Code is poetry.”

Matt Ward wrote on Smashing Magazine explaining the codes-poetry metaphor, but I see that all of his points about codes–presented in indentation, having meaning, having purpose, being structured–are actually recognizable in any writing form, not only poetry. He forgot to mention some natures about poetry: emotional, ambiguity and illogical.

Щ(ºДºщ)

He also believed that poetry, as well as codes, should have been trim and efficient. If that was the point his opinion was based on, well, here are several other writing forms trimmer than poems:

  • Tagline
  • News ticker
  • Radio ads script

Poetry, if I recall what I learned in college correctly, is a writing form that emphasizes on the aesthetics of language using verses and rhymes, sometimes conveys words in different meanings*, and thus evokes emotional responses from the readers.

*My teacher once said,

Poems could be more illogical and ambiguity-provoking than proses.

Well, codes are all about logics, are they not? When you talk to the computers, effective communication should be emphasized more than aesthetics, amirite? If those codes are translated ambiguously by the computers, what would happen?

Unless the computers can cry and laugh reading their codes, these coders should really stop saying and acting as if they were Shakespeare or Gibran.

And, if coders are really in need of finding metaphoric relationship between codes and a human language’s writing form, here is my suggestion: THESIS. Both find problems and solve them using clever, simple, clear logical solutions, leaving out ambiguity as much as possible.

But, of course, if you disagree with me, just write on the comment box. Do you really believe code is poetry? Why? I would love to know.

4 responses to “Is Code Really Poetry?”

  1. Flip Stewart (@flipstewart) Avatar

    From Wikipedia: Poetry is a form of literary art which uses the aesthetic qualities of language to evoke meanings in addition to, or in place of, the prosaic ostensible meaning.

    While I understand your interpretation of what poetry is, and it is a common interpretation, it is still just that. Poetry does not have to be emotional, but it does need to be artistic and perhaps abstract.

    There’s something very basic you need to know about coding to grasp the concept of code as poetry… You know how people say that computers are all just 0s and 1s? They’re right. Programming languages, such as C#, Python, and Ruby(Ruby on Rails is actually a framework for use with Ruby, and not its own language), enable coders to say if this happens, do this(for a very simple example) in a way much more comprehensible than a screen full of binary.

    So it’s abstracted already, but it gets better. Within a language, there are several ways to accomplish the same task. I’ll spare you the examples, as this is already getting a bit long.

    And as far as artistic goes… coders love to bicker over it, but there are all sorts of ways to format your code that could easily be considered creative. Furthermore, most people are unlikely to see the little pet projects that coders work on, but if you did, and you understood it, it would become instantly apparent that it is art.

    I know I’m asking you to take my word on a lot here, but as someone who spends time staring at a screen creating things anyone else would consider pointless and trivial, I’ve often considered my work art.

    Then again, I look at Jackson Pollock’s paintings and don’t get it at all, so if I haven’t convinced you, I’ll understand completely.

    1. Dian Ara Avatar

      Thank you for coming here and sharing your perspective.

      I think I now understand why there is this “gap” between my idea and yours. I use one common feat of poetry to compare it with programming. It must not have been that simple.

      Although I don’t completely get it when you start mentioning Ruby etc (sorry, hahaha…), I somehow grasp the “abstract” part. I should have used most, if not all, feats of poetry for a better comparative argument. >.<

      As for the "artistic" part, well, we can see everything everyone does delicately as craftsmanship. My fiancee, a programmer, after he had read this article of mine, said, "I believe you believe your writing pieces are art. I do, too, believe my work is art." I could not argue further. XD

  2. rekkazan Avatar

    “emotional, ambiguity and illogical”

    Code is emotional. Every programmer has his/her own style of coding, his/her own structure of logical interpretation about what function needs to be executed and when. And it’s not only affected by habit or experience, quite often it’s also affected by the programmer’s mood or state of mind. One same function can be written with thousands of variations, and not just because the coder can. It’s also because the coder wants to write it that way. Whether it’s effective or not, that’s another story. But sometimes, the code being beautiful is more important than the code being effective.

    And yes, code can be beautiful.

    I don’t know about ambiguity being a requirement in a poetry to be called a poetry. I think ambiguity is not always necessary, in the same way that a painting doesn’t always have to be realistic. It goes the same for being illogical, and in the case of code, of course a code can’t be illogical. But hey, ambiguity and logic is in the eye of the beholder. Ask Picasso.

    1. Dian Ara Avatar

      Now this is interesting. And here I am, thinking that programmers’ minds are like machines. Apparently you guys can be moody, too! Wow! XD

      Thanks for the explanation.

Care to share your amazing thought?