Perhaps the goddess — who gives rise to fullness and void — understands that every form needs its opposite.

The simple on-off operations of a computer’s logic gates might mislead one into regarding that computer as a large and overly complicated abacus. But, as Ada Byron pointed out:
The Analytical Engine, on the contrary, is not merely adapted for tabulating the results of one particular function and no other, but for developing and tabulating any function whatever. In fact the engine may be described as being the material expression of any indefinite function of any degree of generality and complexity. 4
In 1936, in his famous paper “On Computable Numbers,” Alan Turing announced, “It is possible to invent a single machine which can be used to compute any computable sequence,” and then showed how — at least in principle — to build such a machine. 5
“Any indefinite function,” “any computable sequence”—that simple word any holds here a vastness perhaps equal to the universe, or your consciousness. Whether the universe is an abhasa —a simulation — or whether self-awareness can be produced by recursive algorithms are questions open to debate, but one thing is certain: the ability to materially express computable sequences and therefore move the world is unprecedented and extraordinary. “Before ten years are over, the Devil’s in it if I have not sucked out some of the life-blood from the mysteries of this universe, in a way that no purely mortal lips or brains could do,” 6Ada Byron wrote to Charles Babbage, with an inkling of the uncanny powers they were beginning to glimpse. “The Analytical Engine does not occupy common ground with mere ‘calculating machines,’” she wrote elsewhere.
It holds a position wholly its own…. A new, a vast, and a powerful language is developed … in which to wield its truths so that these may become of more speedy and accurate practical application for the purposes of mankind than the means hitherto in our possession have rendered possible. Thus not only the mental and the material, but the theoretical and the practical in the mathematical world, are brought into more intimate and effective connexion with each other. 7
This is why comparisons and analogies between programming and older disciplines can obtain only to a limited extent. When programmers say what they do is just like what writers do, or gardeners, or painters, the error is that they aren’t claiming enough, the fault is that they are being too humble. To compare code to works of literature may point the programmer toward legibility and elegance, but it says nothing about the ability of code to materialize logic.
What programmers want to do in their investigations of the “eloquence” of code, I think, is analogous to what Anandavardhana and Abhinavagupta tried to do with poetic language in the Sanskrit cosmopolis: to understand how the effects of a language can escape language itself. The Indian theorists were also dealing with a formal language tightly constrained by rules, a stable formal language that had been analyzed only in stylistic terms, with catalogs of figures and reckonings of correctness. The rasa-dhvani theorists saw that this understanding of beauty was incomplete, and so they tried to formalize the processes of literary affect, to investigate how poetry moves across the borders of bodies and selves, and to understand how consciousness uses and is reconstructed by poetry, how poetry expands within the self and allows access to the unfathomably vast, to that which cannot be spoken.
Programmers also use formal languages, but programming is sui generis. It is unlike anything else. Programmers need to claim the extraordinary nature of what they do. Most discussions of the beauty of code I have encountered emphasize formal qualities of language — simplicity, elegance, structure, flexibility — what a riti - or style-inclined theorist might have described as the qualities of the code. But programs are not just algorithms as concepts or applied ideas; they are algorithms in motion. Code is uniquely kinetic. It acts and interacts with itself, with the world. In code, the mental and the material are one. Code moves. It changes the world.
Marcel Duchamp, who achieved chess-master rank at the royal game, observed in an interview:
A game of chess is a visual and plastic thing, and if it isn’t geometric in the static sense of the word, it is mechanical, since it moves; it’s a drawing, it’s a mechanical reality. The pieces aren’t pretty in themselves, any more than is the form of the game, but what is pretty — if the word “pretty” can be used — is the movement. Well, it is mechanical, the way, for example, a Calder is mechanical. In chess there are some extremely beautiful things in the domain of movement, but not in the visual domain. It’s the imagining of the movement or of the gesture that makes the beauty, in this case. It’s completely in one’s gray matter. 8
Code is also a mechanical reality, but it does not stay merely within one’s gray matter. One does not have to merely imagine its movements and gestures. We already live in a world that abounds with computers, and we already filter experience through software — Facebook and Google offer us views of the world that we can manipulate, but which also, in turn, manipulate us. The embodied language of websites, apps, and networks writes itself into us. One of the pioneers of the newly minted field of Aesthetic Computing, Paul Fishwick, points out that digital watches and DVRs surface the abstract computer-science notion of “finite state machines” in their menus — each time you press the “mode” button you move from one state to another:
The way in which our thinking is changing culturally surfaces deep abstract concepts in computing to us as we use these devices: from number, to information structure, to process … It is not just that the finite state machine is embedded within the watch’s silicon, but also that the human wearing the watch becomes aware of this virtual machine’s structure and its components through the experience of using the watch. The state machine changes how the wearer thinks , even though the wearer is probably unaware of the formal mathematical notation of a state machine. The watch’s software internals become embedded within our psychology and culture. 9
So the locus of code’s dance is not only logic gates or the gleaming fields of random-access memory; code also moves within the millions of humans who encounter its effects, not just programmers. Code already shapes the world of the non-programmers and embeds itself into their bodies, into their experience of themselves, into lived sensation and therefore the realm of experience and aesthetics. Soon, in the near future, we will live inside an experience mediated by computers; all those science-fiction fantasies of eyeglasses that can layer data over what you see, of new means of sensing the world through android extensions of our bodies, all of these are already possible, they already exist.
And this is not all. We will program ourselves and the world we live in. Consider this: the four letters of the genetic alphabet that makes up DNA — A (adenine), C (cytosine), G (guanine), and T (thymine) — are really, quite literally, a programming language. And this language can be represented in binary code, which means that it can be manipulated on a computer. A recent article in the Atlantic lays out the process and the possibilities:
The latest technology — known as synthetic biology, or “synbio”—moves the work [of biotechnology] from the molecular to the digital. Genetic code is manipulated using the equivalent of a word processor. With the press of a button, code representing DNA can be cut and pasted, effortlessly imported from one species into another. It can be reused and repurposed. DNA bases can be swapped in and out with precision. And once the code looks right? Simply hit Send. A dozen different DNA print shops can now turn these bits into biology. 10
Читать дальше