Code is Art (or Could Be)

The question of whether or not programming is an art, or whether or not programmers are artists, is generally about whether or not they work like artists. There’s another aspect that is interesting.

Art models the world. Art tries to say things about the world. But it doesn’t do that straightforwardly: you need codes to decode works of art. But this makes them more effective. The message gets across with greater effect once you manage decoding it.

Software models the world as well, and tries to say things about a part of the world known as the problem domain. In a way often you need codes to decode them, but the goal seems to reduce the effort of decoding code, because this is believed to be a good thing: code should be readable and clear.

I agree that code should be readable, but modeling the world in a 1–1 fashion isn’t the most effective. By mapping objects in the real world to objects in the code, and actions in the real world to what that those objects do to other objects, the task of exploring the code is like exploring reality. You decode one thing, then you have to decode another, and so on. In art, decoding is immediate: once you decode it, the entire message is revealed, in a flash.

So how is this achieved in software?

In Semiotics of Cinema, Jurij Lotman talks about how artistic communication is characterized by a tension between establishing rules and breaking them. Information exists only when receiving it results in the elimination of uncertainty. When there’s anticipation and the anticipations are met by the narrative, the information was transferred by what happened earlier: the later events carried no information.

When anticipations are proven wrong, information is transferred; something new is learned. But there’s a balance here: anticipations must also be met or the work would only be confusing. Establishing rules, and breaking them, but not always.

I’ll get back to this.

The above was posted to my personal weblog on October 21, 2003. My name is Peter Lindberg and I am a thirtysomething software developer and dad living in Stockholm, Sweden. Here, you’ll find posts in English and Swedish about whatever happens to interest me for the moment.


Related posts:

Posted around the same time:

The seven most recent posts:

  1. Tesugen Replaced (October 7)
  2. My Year of MacBook Troubles (May 16)
  3. Tesugen Turns Five (March 21)
  4. Gustaf Nordenskiöld om keramik kontra kläddesign (December 10, 2006)
  5. Se till att ha två buffertar för oförutsedda utgifter (October 30, 2006)
  6. Bra tips för den som vill börja fondspara (October 7, 2006)
  7. Light-Hearted Parenting Tips (September 16, 2006)