Chapter 3: Programmability

I said in chapter 1 that it's programmability, not interactivity (or anything else) that is the crucial matter to consider in computer art. I want to explain and explore that claim in this chapter.

What makes computer art computer art? We've seen that there is a great deal of art that appears on computers that could as well appear on a page or on a TV, in a canvas or on an album. I'm calling that art digital art and computers are not crucial to the display or appreciation of it.

The idea I want to capture in the notion of 'computer art' is art in which computers are crucial for the production, display and appreciation of the art, art which takes advantage of the special properties of computers, art which cannot be translated into other media without fundamentally altering the work into something quite different than what it was on the computer, art in which the computer is crucial as medium.

And we've noted that interactivity is not sufficient to characterize the special properties of computer art, where interactivity means that the display itself is actually changed/affected by the actions of the user/viewer. We can imagine theatre, for instance, that is responsive to input from the audience. Interactivity is not unique to computers. But there's no question it's a very important part of many works of computer art. Also, although interactivity is not unique to computers, interactivity is the basis of a whole type of computer art from games to instrument-like devices to communication devices. Whereas interactivity does not have such a crucial and definitive role in other forms of (non-computer) art. The computer's ability to respond almost instantaneously to increasingly complex situations with deeply considered, highly conditional responses is, well, unique. Interactivity itself is not, per se, unique to computing, but some of the ways computers can react interactively are unique. Computers can guide us instantaneously through a whole interactive virtual world of illusions at every point and maintain the illusion of that world's existence by constructing it, moment to moment, based on our navigational decisions. So there is no question that interactivity is often the crucial property of computer art. In that it's the interactivity we often think about most deeply in our appreciation of the work. Interactivity can be experiential, immediate, engrossing and, yes, immersive in ways that art rarely is.

However, as I pointed out, there are types of computer art that art not interactive at all. Generative computer art is often not interactive. It's often different each time you see it. The art is generated by a computer program. This sort of work needs to be considered as computer art because the art requires a computer to be generated at all.

So if interactivity is not sufficient to characterize the special properties of computer art, what is?

Well, in both interactive computer art and generative art, the computer's programmability is crucial. Interactivity requires programmability. Interactivity requires conditional responses. That's fundamental to programming. And, in generative art, the art is different each time because of conditional programming.

Programmability is what separates computers from other types of machines. It's important to understand this to have any idea about what a computer really is. Non-programmable machines may have some very slight ability to react conditionally. The light in a refrigerator comes on only when the door is opened and goes off only when the door is closed. That's conditional behavior. When you put a penny in a pop machine you get no pop but you do if you put in enough money. That's also conditional behavior.

But computers can be as labyrinthine as we ourselves are, sometimes, in our conditional responses to life. Computers can make decisions. What sort of decisions? Think of the sort of decision computers can make as being like atoms. They're small and you don't notice them. But put lots of them together and you get the sort of decisions humans make, just like when you put lots of atoms together you get stuff we can see. Basically, computers can only decide if two numbers are equal or one number is bigger than another number. And then do different things depending on the outcome. But just like everything is made out of atoms, all decisions can be made of lots of smaller decisions.

It's programmability that allows computers to exhibit conditional behavior that ranges from the obviously just plain-old mechanical, like a fridge or a toaster's behavior is mechanical, to decisions and behavior predicated on millions of lines of programming that not even the programmers can anticipate. Deep Blue, the famous chess program, plays a better game of chess than any of its programmers.

Historically, the drive to create programmable machines arose from the need to make machines flexible. When you go to the time, trouble, and expense of building a machine to perform a task, you would like it to be capable of related tasks. If the machine is a loom, for instance, to weave fabric, you would like the loom to be capable of weaving many different types of cloth that display many different types of patterns. Rather than having to have a different machine for each of them. How do you achieve the utmost in such flexibility? Well, you make the action of the machine, at any stage in its operation, dependent on decisions carried out by a program that guides the machine's actions toward the completion of the particular desired task. And this program is what you change when you want the machine to do something different. You don't change the machine; you change the program.

In another chapter, we'll look more closely at just what a program is, and what a computer is, exactly. We'll discuss the idea of the Turing machine, the universal computer, and precisely how it works. It's quite simple, actually. Children can understand it. The Turing machine is an imaginary, theoretical computer. It is our model of every computer that has ever existed and may ever exist. In any case, the Turing machine is the ultimate jackpot of machine flexibility. In the 75 years that have elapsed since it was first invented by Turing, nobody has been able to come up with a similarly imaginary, theoretical computing device that can do more than the Turing machine.

The Turing machine is profoundly flexible, as a machine. It is flexible to the point that there is no proof, and probably never will be, that there exist thought processes of which humans are capable and computers are not. Which is to say that it's very likely that computers are flexible to the point of being capable of thought itself.

And this flexibility is completely predicated on programmability. Programmability, not interactivity or anything else, is what distinguishes computers from other machines. Programmability is the fundamental distinguishing characteristic of computers.

Well so what? Of what importance is this to computer art?

Recall that I'm defining computer art to be art in which the computer is crucial as medium. That is, the computer is crucial to the display and appreciation of the work. The art can't be displayed (even if it is sonic) on a device that isn't hooked to a computer; it can't run properly or be properly appreciated without it.

If you think about what that means, I think you have to come to the conclusion that such art requires a computer for its display and appreciation because the art relies on something about computers that the art can't get from any other devices. What could that be? It could be interactivity. But recall that there is lots of computer art that isn't interactive in the slightest. In that case, it has to be programmability. And even when it is interactivity, as we've seen, computerized interactivity is completely predicated on programmability.

So the relation of computer art and programmability is very strong. Computer art is simply not computer art without programmability. The programmability of computers is one of the main things--or, in some cases, the main thing--that computer artists use to distinguish their art from every other type of art.

**********************

Here are links to the blog posts, so far, in Computer Art and the Theory of Computation:

Chapter 1: The Blooming

Chapter 2: Greenberg, Modernism, Computation and Computer Art

Chapter 3: Programmability

Chapter X: Evolution and the Universal Machine