Code And Scripting Languages

unreadable literature?

While language is central to computer arts (from programming languages to artificial intelligence, character recognition and text generators), the possibility of a literary or poetic computer language remains problematic.

Bumby, LifePl, 2005.

Bumby, LifePl, 2005. Photo: © Bumby

The problem lies in the perception and the understanding of what makes literature: the text. Computers function on numerous texts that obey their own logic, which we call program scripts or computer code. Florian Cramer, who pioneered the discovery and analysis of code from an esthetic standpoint, claims in Words Made Flesh: Code, Culture, Imagination (2005) that the scriptable dimension of computer code (the instructions and processes that cannot be read on the interface) is the same as that which Roland Barthes assigns to literary texts in Le plaisir du texte (1982). This scriptable dimension joins a second dimension, similarly perceptible in esthetic terms: the executability of the code (the text containing the list of instructions must be executed). We will examine some aspects of these two dimensions.

The relationship between literature and computers is most often reduced to language generators, programs which process linguistic data in order to produce original texts. The textuality (in the literary sense) of these generators is difficult to pinpoint in the resulting texts, which are usually too obvious or too obscure.

Too obvious? The program is very good at execution, especially in the art of reproduction and imitation. It can generate very classic texts, which would have delighted the academic poets of the Enlightenment who were particularly skilled in metrics—poetry that is relatively depreciated today for its lack of originality, considered poor in terms of linguistic experimentation and pre-formatted. Yet, as the Oulipo literary school and its computer-based ALAMO heritage has demonstrated, mathematical manipulation of words and sentences is indeed a form of experimentation, even if it realizes above all the fantasy of combinatory literature—of absolute control over the form by the author who becomes the program, as Jean Clément explains in his article Quelques fantasmes de la littérature combinatoire (2000).

Too obscure? It’s often the case with generators that are also chatbots, a classic case of artificial intelligence programming, which results in rather strange conversations. It may be because the robot is incoherent and doesn’t know how to adapt to its human interlocutor, or, more commonly, because it’s robotic, trapped in loops and fixed attitudes (flagrant with Eliza, the famous robot psychoanalyst). We don’t understand the robot’s intentions, very simply because it doesn’t have any. The machine doesn’t “understand” what it is saying, explains the philosopher John Searle, therefore it is not intelligent. Generators are virtual authors whose language is focused on empty intentions. The program that writes is nothing more than a machine for processing and transmitting information; it does not communicate meaning, unless it’s mathematically, according to the cybernetic theory of Claude Shannon. But this hardly rules out its poetic effect, as Roland Barthes points out: Writing is not at all an instrument of communication… It always appears symbolical, introverted, ostensibly oriented toward the secret side of language.

Of course, best concentrate on the code to better appreciate this “secret side”. If what Barthes considers readable constitutes standard representations of cultural productions, what is scriptable can then be defined by the code responsible for this production (or statement in the case of speech). Many authors working with computers decide to focus more on arranging the products of this code, inasmuch as these products demonstrate the possibilities (or virtualities) at work in the programming. This spotlights another quality of language generating: the differential emergence of language, which is also a poetic quality, according to Jacobson. In his Virtual Muse, Charles O’Hartman suggests that the value of computer scripts is revealed by this emergence, which implies that reading is important to give the product meaning: Language is created all by itself from a simple statistical interference. You choose the order of n, you observe the meaning stumble and find its balance again. It’s not very clear where this meaning comes from. Nothing is created from nothing, and the principles of nonsense require that we keep readers in their place, as co-responsible for the relevance of the text.

Photo: © Marshall

For the poet Alan Sondheim, computer languages offer tools to think about writing and new ways to play with words and meaning: I rarely leave the program to its own devices, I don’t really care how the text is produced, so I come back to the program and rearrange the elements. In other words, the commands are catalysts for a textual production, with the goal of delivering not a final text, but a body of text that I can work on. For the creators of the program JanusNode, language generators allow us to realize Lautréamont’s slogan Poetry for all! By presenting useful functions in order to explore this interesting phenomenon that emerges at the intersection of the fundamental dualities of the human condition: the dynamic boundary that separates order and chaos, law and anarchy, meaning and absurdity. The attention given to all these possible produced texts at the intersection of computer and human manipulation gives rise to the second fantasy of combinatory literature according to Clément, hailed by the avant-gardes, which consists of losing control as a condition for creativity. But also regaining control through the interpretative choices of the author, and even of the reader in some cases (hypertext literature, for example). As in many situations of everyday speech, sentences are waiting to be interpreted, or waiting for a driver, a master to give them direction, as Wittgenstein writes.

However, this approach to code remains very conceptual, even abstract in the sense that the principle of uncertainty in textual generation is still perceived as a production device, and not a text to be read and appreciated for itself. Who reads computer code? Computer programmers first, as its primary fans. But not only for practical reasons. The desire to code in your spare time, exercise your skills, amuse yourself, impress others, solve a difficult problem, etc., is at the heart of programming esthetics, which has largely fueled hacker culture. These esthetics also feed the ideology of open code, which advocates actively displaying and distributing computer code. It helps even out the balance between readability and unreadability, providing functional evidence of language structures and formally destabilizing these scripts. It develops the pleasure of coding and reading code that is very close to Barthes’ pleasure of the text. Finally, it shines a light on the processes which lead to cultural behaviors and social standards.

The pleasure of coding stems from the idea that code can be beautiful. Elegant code is concise, coherent, well-formulated code; ugly code is obscure and difficult to decipher by fellow coders. Between these two value systems are a variety of writing games that can be assimilated to veritable infra-literary activity within computer subcultures. It finds its most formal expression in coding competitions such as OCCC (Obfuscated Code Competition in C), which revive writing games such as calligrams, anagrams and cryptography or in poetry collections written in code that parodies the most caricatural forms of romantic and lyrical poetry (for example, Perl Poetry, very present on Constantly finding a balance between a moral vision of efficient and elegant code and a grotesque vision of crazy code that is enlightening through its disorder and creativity, these forms of esthetic coding maintain an ambiguous relationship with serious programming work, as evoked by Donald Knuth, one of the fathers of programming, upon accepting an award from the members of the prestigious Association of Computing Machines in 1974, in a passionate speech entitled Computer Programming as an Art: We shouldn’t shy away from “art for art’s sake”; we shouldn’t feel guilty about programs that are just for fun. […] I don’t think [it’s] a waste of time […], nor would Jeremy Bentham […] deny the “utility” of such pastimes. “On the contrary,” he wrote, “[…] To what shall the character of utility be ascribed, if not to that which is a source of pleasure?”

Writing beautiful code or funny code is a way of rethinking didactics through folklore: by coding experimentally, by dialoguing creatively with the computer, perceived in this case both as interlocutor and system, the apprentice poet is also and above all an apprentice coder and a user of a system in a situation of learning or even initiation. The esthetic dimension of computer code is thus an art of the initiated—but not so much more than the most experimental poetry, which is touched upon only by those who love deciphering (both in the literal and the metaphorical sense) the most unreadable literary texts. This was also what the poets of “Codeworks” (including Alan Sondheim) thought as they invaded artistic networks of the Web in the 1990s with chaotic logorrhea which borrowed a lot, sometimes completely, from programming languages. At a time when code has taken on an important role in terms of not only technology and culture but also economics, politics and legal matters (Lawrence Lessig’s Code is Law, 1999), examining these texts doesn’t seem like such a crazy idea after all.

Camille Paloque-Berges
published in MCD #76, “Writing Machines”, march/may 2012

Camille Paloque-Berges developed these issues further in Poétique des codes informatiques, published in 2009 by Archives contemporaines.

Articles similaires