June 4, 2003

Meaning machines

by Michael Mateas · , 11:42 am

Andrew raises the question of whether artists should program. The answer is yes. Here’s why.

Computers are not fundamentally about producing 2D visual imagery, video, or 3D models (everything taught in the typical into to electronic media classes).

Computers are not fundamentally about responding to the input of a user/player/interactor (computer-based interactive everything).

Computers are not fundamentally about controlling motors, lights, projectors, or other electro-mechanical systems (installation art, robotic sculpture).

Computers are not fundamentally about mediating signals from distant locations (telepresence).

Fundamentally, the computer is a meaning machine. Inside the computer, long meaningless chains of causally-linked physical events take place. The magic lies in the fact that these meaningless events inside the machine can be connected to the world of human meaning – correspondences can be established such that we can read the computer’s behavior as meaningful.

Programming is the activity by which the meaningless mechanical activities of the computer are given meaning. To really be able to manipulate the computer as a medium (to make the computer mean anything) requires programming.

Now I’m not saying that tools are bad – Photoshop, Premier, Flash, etc. are certainly useful. And of course I’m not saying that artists who only use such tools aren’t really artists. But each tool encodes (literally) a specific representational framework, a specific way of relating to computation. To only use such tools is to be perpetually trapped in other people’s frameworks, to never truly touch the medium.

It is common for artists learning new computer tools to find the process painful and difficult – and unfortunately to find the process of learning to program even more so. There’s a reason for this. Meaning is culturally dependent phenomenon – so of course the meaningful correspondences encoded by any given program will be culturally dependent. C.P. Snow, in The Two Cultures, introduced the simplistic yet handy dualism of the Freaks (artists and humanities types) and the Geeks (science and engineering types), arguing that these two groups really had two different worldviews, two different cultures. And who’s writing most of the tools and languages that artists are learning (hint: it ain’t the artists)? All the more reason for artists to program.

13 Responses to “Meaning machines”

  1. Janet Murray Says:

    Michael tells me that somewhere (I haven’t found it) in this discussion I am described as opposing the proposition that digital artists be programmers. On the contrary, I believe that authorship in the digital medium is procedural: Authorship is not just drawing things or writing things but determining the rules by which things happen. It is therefore very desirable that digital artist/designers learn as much as they can about the procedural power of the medium, how it is accessed and how it is shaped.

    It is not clear what shape this learning should take. Just learning a programming language will not necessarily do it, because programming languages like authoring environments are limiting in their architecture. It’s at least equally important that artist/designers learn the methods of information and procedural abstraction.

    It’s great that a cohort of artist/programmers is arising. But the creation of a more expressive medium will require the domestication of the programming environment which is still quite primitive. We need to put more of the procedural power of the computer in the hands of more people, including those who don’t want to deal with C syntax. We need to create more expressive authoring environments.

    Nurturing programmer/artists and expanding the power of authoring environments are not contradictory. Both will be useful in building up more expressive traditions of practice.

  2. torill Says:

    The argument that it’s only art if you can see the trace of individual craft is something I thought we left behind with the arts and crafts movement of the sixties and seventies. Is this discussion an indicator that each artist should, like the ceramic artists of the seventies, leave a fingerprint, a unique way of programming a certain response, in order to be an artist? The sixties and seventies gave us bulky tea-cups which were all obviously hand-made by people who had painfully learned the craft. That didn’t make the bulky tea-cups prettier or better – just more of a cultural statement, and more politically correct. Today they resurface as period pieces in fleamarkets – those which were not quickly chipped and thrown out because of the brittle clay and bad glazes.

    A friend of mine keeps calling the DAC conferences “Digital Arts and Crafts.” This discussion makes me wonder if that might not be an apt name for a genre…

  3. drew Says:

    i want to play off of torill’s post some… i find it rather quick, and a little limiting even, to simply say, “yes” computer artists should be programmers.. for while i agree that there is value to be had in learning to do something outside of your specific focus (like learn how to program, or draw, or play music, etc) i find hints of nostalgia and idealism wrapped up in such a binary “yes” or “no”

    nostalgia in that while we all continue to learn this multimedia tool of a computer, we still look back to some notion that an artist should be in total control of their tools… but the computer opens up so much possibility, i have met extremely few people who are the complete master of everything that can be done with a computer…

    idealism in that, if we really go with the idea that to touch the medium of a computer is to program, then we really should not be talking about applications and languages (all with limits), we should be talking about pure programming in binary code…

    and but so, i do agree that computers are meaning machines, and that programming is a primary way to make meaning… it’s just that there are so many ways to make meaning with them that it seems that the answer to should artists be progammers, isn’t just a binary with a yes or no, it’s much more of a exploration of all the numerous avenues employed (graphics, video, sound effects, music, motion design, writing, engineering, programming, etc…)

    it just begs for a cabal approach of people working together collaboratively, and that’s what i have found really inspiring working on multimedia projects… collaborative work with a group of people who excel in their area, but who know how the parts can fit together… orchestrating meaning with these machines…

  4. guy whitmore Says:

    I’ll jump in here… as a composer of game scores, I’ve been responsible for ‘designing’ or game audio systems. I have enough knowledge of programming concepts (and I do think that sort of education is important for all in this medium), but I couldn’t write a lick of C++ if you had a gun to my head. Nor do I currently have the desire to dive in that deep. Time is a consideration, and it’s difficult enough to find time to expand my composition skills. I have been, however, looking more and more into algorythmic techniques for creating music which may require me to learn more logic/math/code.

    But in general, I’d rather colaborate with a programmer; give them a very specific design and concept, and let them write the actual code. It’s still my design, and will function the way I intended, allowing me to create adaptive audio using my conceptual paradigm.

    p.s. has anyone else noticed how many programmers are also amature musicians?? what’s the corelation? Also, I’d wager that there are more musician programmers that visual artist programmers.

  5. Lewis LaCook Says:

    Janet Murray hits the proverbial nail squarely on its proverbial head—we need better programming environments! Now!

    I’m one who definitely believes ANY artist using the computer should learn at least a little programming. Ideally, every artist should learn assembly–thereby providing direct control of how meaning passes around in the machine’s guts. But C or C++ is just fine, and Visual Basic, and Perl, and JavaScript…

    Just wanted to note: Flash is often maligned in discussions of this type, and many serious programmers look down on actionScript (if they’re aware of it at all). This is due to the fact that Flash is easiest to use when working on a simple image/text/animation/sound level. But the truth is Flash is a programming environment as well, and actionScript is becoming more powerful with each release.

    I was recently involved in a volley over at trAce about the “production model” of new media works. Some there maintain that it mirrors film production: the most successful works, in this paradigm, are those in which a specialization of labor occurs. Programmers, visual artists, writers, musicians. While this is quite true for a lot of new media works (how many works involve bringing a programmer on board to write the geek stuff?), there has also been developing a whole new breed of artist who is also a programmer, a polyartist who embodies all of these disciplines. My ambition is to become such a polyartist.

    Far too many net.art and “digital literature” works involve very minimal code, and it’s a shame, considering that, as Michael points out quite adroitly, the computer is a meaning-making machine. Most high-level languages provide a vast array of tools and functions for text manipulation, and yet far too many writers of digital literature ignore them in favor of re-creating cinema and the illustrated book on the computer screen. I always shrug when I see these works, no matter how beautiful. In my eyes they miss the point. The first question one should ask oneself in encountering a web work is this: WHY is this on a computer? Does it use anything native to the computer? Could it survive on celluloid or a slick page?

    In any case, this is my own blundering two cents. Just want to say thank you for this wonderful forum–I feel like finally someone is discussing the issues in net.art that truly matter to me!


    Lewis LaCook

  6. noah Says:

    Something I think we need for our curricula is a course/sequence organized around what’s talked about in this post and Andrew’s. I’ve been talking about some similar things with folks (like Nick, Mary Flanagan, David Durand) at the e(X)lit gathering and at DAC. I think when we have new media students, they should learn some things that computer science knows, but it shouldn’t be organized the way the material is in “Intro to CS” (often a slow march through basic data structures and sort algorithms). It also shouldn’t be organized as an application domain – “CS for Graphics” or “CS for Music” – which is unfortunately what many of the current courses in new media programs look like. Instead, to use Michael’s phrase, we need “CS for Meaning Making” (I’ve been calling it “CS for New Media”).

    On the other hand, I think we also have some desire for new media students (“freaks”) to understand how CS folk (“geeks”) specify problems, organize projects, debug, etc. This is for all the obvious reasons: for use in their own work, for collaborating with those trained in CS, for understanding more deeply artifacts created by those who work in CS, and so on. There’s also the open question of whether we want students who take the “CS for Meaning Making” sequence to be able to go on to take courses that have the regular CS intro sequence as a prerequisite (it’s attractive, because of the possibilities it opens, but it would also restrict the design of our sequence significantly).

  7. nick Says:

    Noah has framed the issue well and provided some good ideas here, and I hope we’ll make some progress on the “CS for new media” front.

    The question “do new media artists have to know how to program?” presupposes that artists have to all share some certain knowledge or skill. I prefer we ask a question like “as new media educators, are we gravely remiss if we fail to teach scholars and artists about the workings of the computer in great depth?” I think the answer to this is definitely yes, and I think this sort of education includes understanding how to program.

  8. drew Says:

    i like nick’s reframing of the question… it gets to the heart of the issues raised in the 1st artist/programmer thread and then concentrated on in this thread with michael’s idea of meaning making machines… for while i think we could discuss the various perspectives around this issues ad infinitum, i do believe as new media educators that it is our responsibility to enable students to make the most of the experiences with these machines, and i like noah’s idea of a new sequence, a “cs for meaning making” that allows them to explore and experiment with computers and what they are capable of doing so they can build from there…

  9. Phoebe Says:

    Yes, (digital) artists should program. I won’t rehash the reasons already given, just give two short examples:

    1. Artist (mis)directing programmer

    I have seen too many cases where artists tell programmers what they want, but where the thing is not doable, or is done by the programmer in a way that violates the artist’s (or anybody’s!) aesthetics. I have also seen too many cases where the programmer claims they can’t do what the artist wants, when it is actually quite simple. Artists learning the basics of programming helps avoid problems even when the artist does not want to program, but instead direct someone else.

    2. The devil is in the details

    In digital interactive media, the details of shape and fine movement of line can make massive differences in effect. Just as a painter would not tell an assistant what to paint (the brush strokes matter), a digital artist should not assume that telling someone at a high level what something will be like will result in something that has the right aesthetics / meaning ‘all the way through.’

    But I also endorse Janet’s call for more expressive environments – with the caveat that the most expressive environments (e.g. Flash, as mentioned previously) will, in fact, be programming languages. Programming does not mean C++ syntax (please god!).

    Folks interested in these issues might want to take a look at the National Research Council’s recent report on IT and creative practices, which discusses issues like this in depth (on-line at http://bob.nap.edu/html/beyond_productivity/).

  10. bks Says:

    The question isn’t, I think, whether artists should program. What is more remarkable is that programs themselves have successfully spawned other programs that have been viewed as artworks.

    Obviously, Flash is a case in point. Any Windows specific Flash .exe will not rely on the Flash plug-in to run it. One might not know it was created using Flash except by asking. It’s sovereign in this way.

    Galileo once said (as cited by Chomsky in the Cartesian Linguists) that he most amazing invention of human kind is the 24 letters of the Roman alphabet — the fact that they can be infinitely recombined to create sovereign creations.

    Of course, all of these literary creations will owe something to the letters, but I somehow think we don’t say the letters themselves have any sort of emotional or ideological charge on their own.

    (This refers to: “To only use such tools is to be perpetually trapped in other people’s frameworks” — if the application, say Flash, is as well designed as a language, then completely obverse “frameworks” should be quite possible.)

    One should be led to progress beyond off-the-shelf Flash effects not because they are not “serious programming” but because they aren’t particularly interesting. And certainly, some very good programmers have been very bad designers — whose to say what’s more valuable in digital works?

  11. bks Says:

    I should mention that Galileo didn’t mean that the Roman alphabet itself was unusually wonderful, but that alphabets themselves were amazing. I just wrote Roman because one might wonder why I wrote “24.”

  12. Jim Andrews Says:

    About the teaching of programming.

    When I was in Toronto, I taught a twelve week course in Director.

    The first four weeks were devoted to non-programming issues. Director is made for non-programmers as well as programmers.

    Getting familiar with what you can in Director *without* programming is also necessary before being able to both appreciate and understand how vast the difference is compared with what you *can do* with programming.

    Director comes with not a bad library of behaviors that you can use without being a programmer. So you get an introduction to how behaviors are used, once they’re written, before you know how to write one yourself.

    Director is very similar to other RAD (Rapid Application Development) environments like Delphi, Visual Basic, and C++ Builder. They are all event-driven programming environments, rather than being procedurally driven like an old-fashioned DOS program which has a single script.

    One could go on at great length on this topic of course.

    But I really don’t think you could do better than to use Director or Java. And they are relevant to new media on the Web, whereas C++ isn’t, really.

    My own background includes going through a university Computer Science/Math program. So I took those courses in programming and data structures Noah refers to. Some of that material is still relevant of course. I still use stacks and queues (Millenium Lyric has a circular queue) and other abstract data structures. They are important abstract building blocks. Windows for Shockwave uses recursive programming and tree structures, as you more or less have to do with menus and such.

    And new media students should study math also. Programmers who can’t apply math to their programming are forever at a disadvantage.

  13. accidentals and substantives Says:
    double articulation
    In an entry on artist programmers over at GrandTextAuto, Michael Mateas writes that computers are at core “meaning-making machines”: “Fundamentally, the computer is a meaning machine. Inside the computer, long meaningless chains of causally-linked phys…

Powered by WordPress