in a way that is particularly appropriate for that language. Programmers actively structure the space of computation for solving specific problems, ranging from implementing sub- universal abstractions such as finite-state machines for solving problems such as string searching, up to writing interpreters and compilers for custom languages tailored to specific problem domains, such as Perl for string manipulation. All coding inevitably involves double-coding. “Good” code simultaneously specifies a mechanical process and talks about this mechanical process to a human reader. Finally, the puzzle-like nature of coding manifests not only because of the problem solving necessary to specify processes, but because code must additionally, and simultaneously, double-code, make appropriate use of language styles and idioms, and structure the space of computation. Weird languages thus tease apart phenomena present in all coding activity, phenomena that must be accounted for by any theory of code.
Programming has already been connected to literature in an interesting way, albeit without deep consideration of obfuscation and weird languages as programming practices. Obfuscation and weird languages invite us to join programming contexts to the literary contexts that must obviously be considered when evaluating literary code. They also suggest that coding can resist clarity and elegance to strive instead for complexity, can make the familiar unfamiliar, and can wrestle with the language in which it is written, just as much contemporary literature does. When a program is double-coded to have some literary meaning, or indeed, any human meaning, this meaning can play with what programming language researchers call the semantics of the code: what the code actually does as it executes.4 A very simple case of such play can even be seen in the obfuscated C “hello, world!” program, in which read is used to name a function that writes one letter. In such play, the levels of human meaning and machine meaning must both be considered.
As the name “Turing Machine” suggests, the computer is a machine. Whether it is realized as a physical device or imagined and abstract, it is made up of parts and performs tasks. A tradition of overcomplicated machinery has manifested itself in art in several ways, but perhaps most strikingly in Alfred Jarry’s ’Pataphysics, “the science of imaginary solutions,” which involves the design of complicated physical machinery and also the obfuscation of information and standards. As a joke, and as a parody of the complex French calendar, Jarry introduced a new calendar. It begins on his birthday and is divided into thirteen months, each of 29 days. Each day has an obscure name in the pataphysical calendar, and the last day of the month is, in all but two cases, an imaginary day. The second month, for instance, is “Haha,” and its second day is “Dissolution of Edgar Allan Poe, dinomythurge.” The Collège de 'pataphysique revises the calendar once in a while, changing the names of days.
An aesthetic of mechanical obfuscation is also seen in the kinetic installations of Peter Fischli and David Weiss and in their film “The Way Things Go” (1987-1988), as well as in the earlier visual art of Robert Storm Petersen, Heath Robinson, and Rube Goldberg. (The weird language RUBE was so named as a tribute to Goldberg.) These depictions and realizations of mechanical ecstasy comment on engineering practice and physical possibility, much as obfuscated coding and weird
This is the view in operational semantics, at any rate; there are also other ways to consider program semantics.
languages comment on programming and computation. These “art machines,” like obfuscated programs, are interesting because they do something in a very complex way, but to be worth anyone’s attention they must actually do something and have a machine meaning as well as a human one.
Perhaps most oddly, obfuscated programs and weird languages are inviting. They ask for the full engagement of those who read them or program in them, and offer to show how strangely things can be done. They invite theorists and critics of new media to look into the dark box of the machine and see how creativity is at work in there, too. To understand how programmer-artists, programmer-authors, game developers, and hackers of other stripes achieve what they do, it will be necessary to understand the full range of programming practices, to not just play with the finished, executable file, but to also consider the play that happens in programming it.
 Black, M. J. The Art of Code. Ph.D. Dissertation, University of Pennsylvania. 2002.
 Cox, G., A. McLean, and A. Ward. The Aesthetics of Generative Code. http://www.generative.net/papers/aesthetics/ 2000.
 Heusser, M. Beautiful Code. Dr. Dobb’s. www.ddj.com/documents/ddj1122411683430/ 2005.
 International Obfuscated C Code Contest. http://www.ioccc.org/
 Kernighan, B. W. and D. M. Ritchie. The C Programming Language. 2nd Ed. Prentice Hall, Englewood Cliffs, New Jersey. 1988.
 Knuth, D. E. Things a Computer Scientist Rarely Talks About. Center for the Study of Language and Information, Stanford, California. 2001.
 Lohr, Steve. Go To. Basic Books, New York. 2001.
 Mathews, H. and A. Brotchie, eds. Oulipo Compendium. Atlas Press, London. 1998.
 Olmstead, B. Malboge. http://www.antwon.com/other/malbolge/malbolge.txt 1998.
 Perl 5.6 FAQ. 23 May 1999. http://www.perldoc.com/perl5.6/pod/perlfaq1.html
 Perlis, A. Epigrams on Programming. SIGPLAN Notices, 17(9), September 1982. http://www.bio.cam.ac.uk/~mw263/Perlis_Epigrams.html
 Scheffer, L. http://www.lscheffer.com/malbolge.html
 Woods, D. and J. Lyon, The INTERCAL Programming Language Revised Reference Manual. 1st Ed. 1973, C- INTERCAL revisions, L. Howell and E. Raymond, 1996.
 WordNet 2.1. http://wordnet.princeton.edu/
Mateas, Michael and Nick Montfort. “A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics.” In Proceedings of the 6th Digital Arts and Culture Conference, IT University of Copenhagen, 1-3 Dec 2005, pp. 144-153.