This course will examine contemporary trends in theorizing digital media with particular attention given to software and the video game as new media texts. The semester will be divided into two units. The first unit will address theories of code and software. We will discuss the concept of “software studies” in relation to traditional media studies, and investigate how code and software can be examined as aesthetic and political texts. Through an examination of code and semiotics, software and ideology, and critiques of particular software programs, we will lay a theoretical foundation for the investigation of our second unit: video games. Following the rise of the “serious game movement” we will investigate the emergence of political games, persuasive games, simulation games, newsgames, art games, etc., in relation to the theoretical Concepts we developed while analyzing Software and code.

Wednesday, February 27, 2008

Classic Coding and New Coding: a Dialectic?

Mateas and Montfort ("A Box, Darkly") define the aesthetic we often use when thinking of code as a "classical aesthetic." The typical programmer expects to listen to good code like "a symphony, because every instruction [can do] two things and everything [comes] together gracefully.” Classic coding aesthetics attempts to make it easy for the human and computer to read code simultaneously in a straightforward format whilst conveying as much information as possible.

Code in this sense is beautiful much like classical literature: code is easily readable, flows logically in chronological order, and contains multiple layers of truth. Stylistic rules reign supreme, highlighting the "importance of the human reading the code" as well as the syncing of man's logic with that of a machine's. We end up with canonical pieces of classic code that serve as the basis for all future coding endeavors.

We can use some of the theoretical framework from "The Aesthetics of Generative Code" by Cox, Mclean, and Ward to look at the implications of this classic code aesthetic. Perhaps this type of code aesthetic harkens back to a pre-Kantian aesthetics, or aesthetics as objective beauty? Code in this sense tries to restore the language and thought of an earlier time when logical rationalists could solve the mysteries of the world and empiricists could discover the underlying structures of the universe. This code might act as a reaction to how contemporary language often complicates meaning, where the artist's craft (i.e., elegant, beautiful code) restores meaning. Classic code form does not factor in subjectivity for it believes an "if-statement" means exactly an "if-statement."

Mateas and Montfort, looking to turn classic code on its head, bring up obfuscated code and esoteric languages as counterpoints to elegant code . These two fields complicate the former belief of code as a pure language that sheds all subjectivity. Such odd languages "refutes the idea that the programmer' s task is automatic, value- neutral, and disconnected from the meanings of words in the world." This code layer bears as much burden as any postmodern language system. Thing like obfuscated code and enigmatic programming languages critique and deconstruct the supposed naturalism of classic code. They force us to struggle with the idea of code as a restorer of objective beauty by making "the familiar unfamiliar.. [we] wrestle with the language in which it is written." The form of code is destroyed and all that is left is a function of the code. An "if-statement" is not just an "if-statement," but instead can emphasize, weigh, or make ambiguous a conditional statement.

Various practices combat elegant code, from the simple action of removing all whitespace from code to the creation of languages like Malboge that actually oppose the man-machine, buddy-buddy system. Code no longer sits there to let itself be molded, but fights back against the programmer!

Are these the new aesthetics of coding?

Cox, Mclean, and Ward seem to combine the two overarching methods of classic coding and new together. Sure, they argue that like the anti-art Dadaists, obfuscation succeeds as the anti-code by rejecting "the aesthetic conventions of perfection and order, harmony and beauty, and all bourgeois values and taste." However, code, down in its very heart, is a functional language meant to execute itself. We need to understand that code is ambiguous, but code is never left to "chance arrangements, [for] attention to detail is paramount when it is encountered in written form." Instead, this new aesthetic of coding tempers classic coding, but does not destroy classic coding (in much the same way anti-art did not completely wipe out classic art practices).

We are welcome to write as much obfuscated code as we want to remind us that code has no natural aesthetic form; nevertheless, we are reminded by unexecutable perl poetry that code is meaningless if it does not function. Thus, as is stated often in the essay, form and function must go hand in hand- as if to say the lessons of obfuscated code can add subjectivity to the formerly objective practices of classic coding.

Links of interest:
Funny Unix Commands (referencing the bilingual nature of code)
http://www.bga.org/~lessem/psyc5112/usail/library/humor/funnycommand.html

xkcd comic (with a "shoutout" to Montfort)
http://xkcd.com/380/

Questions related to "Giver of Names:"

  1. If form and function should go "hand in hand" according to Cox, Mclean, and Ward, is it required that we see the code of "Giver of Names" to understand the function of the artwork?
  2. Or are we able to successfully reverse engineer how the artwork abstracts reality, similar to what Mateas and Montfort call a "reading" of code?
  3. The blackboxness of the artwork alludes to how this artwork attempts to represent objects, but perhaps the form of the code is much more advanced or meaningful than the code's visible function?

No comments: