Skip navigation

The last couple of years my brother, father and I have attempted to do an annual male bonding thing. Not the “malest” of groups, we tend not to tote shotguns or camping gear, but prefer a comfortable and clean b&b, near a lake (likely manmade) and of course conveniently (and affordably) located. For 3 Jewish guys from Long Island, we’re easing ourselves into “nature”. The main purpose of these annual trips is to reconnect and maybe get some exercise. Usually an emotionally charged and too frank discussion marks these gatherings, which we all ultimately find stimulating, once the initial anger subsides. This year we met in Ohio and used Oxford as our base.

The 2 full days we spent together included 9 holes of golf, canoeing, swimming and lots of meals out at restaurants; nature was pretty much kept at bay this year, (at least we did canoe on a real river.) As if our involvement with nature paralleled the psychodynamic, we also, for the most part, steered clear of any too provocative discussions, which I now regret. One conversation though, between my brother Eric and I, that did occur (inspiring this post) was about art and programming.

My brother, a tax lawyer turned businessman who retired in his early 30’s, and I have pursued very different paths in our lives. Eric is goal oriented, extremely pragmatic and in control of his emotions. He approaches life strategically and most often makes highly efficient and fiscally prudent decisions. As an aside, although I am more than 2 years older than Eric we both graduated college and grad school in the same years (he also somehow managed to get 4 degrees, while I got 2.) In the past, Eric’s described life as a game, and he is unquestionably the most facile gamer I have ever known. We grew up playing all sorts of competitive games as kids, from pool to ping pong to nearly any game one could play with a pair of dice, deck of cards or rubber ball. We of course always wagered for large stakes, (leveraging our allowances as far as our imaginations would let us.) It is very likely by the time I was 13, I owed my brother tens of millions of dollars, (which I’m thankful he’s yet to collect on.) I wasn’t a bad gamer, but my brother was brilliantly rational and in complete control of his emotions. I on the other hand was ecstatic when I was winning, distraught when I was losing and prone to huge risk taking– with an emotionally based wagering system. It was very common for our games to end in an argument or worse.

Our discussion about art/code grew out of Eric actually reading some of the earlier posts on this blog. He questioned the notion of code as a creative material, because of its lack of direct correspondence. According to him, code could be written many ways and still produce the same output, so the code itself operated, vis-à-vis aesthetics, tangentially to any concept of craft (my words and interpretation here.) Of course code/coding structure encompasses craft with regard to algorithmic application. However, it is easy to show varied correlation(s) between algorithmic efficiency and aesthetics, making the comparison pointless. Thus if Eric is correct, code is not really a primary aesthetic medium, capable of reflecting creative intention or process, but more of a highly developed tool.

In thinking about this problem, I considered a few examples of code-based creativity, outside of computation. When I was in grad school, I studied with Neil Welliver. Welliver was a major figure in the figurative revival in painting in the 50’s who eventually, along with artists such as Alex Katz, Phillip Pearlstein, and Jack Beal, developed a very signature, even formulaic, style of painting. Rather than approaching painting emotionally or romantically (i.e. abstract expressionism), these artists systematically made highly representational paintings. Welliver actually created his large paintings from the top down, working from the top left corner and proceeding row by row to the lower right corner, never going back and reworking the surface of the painting. Thus Welliver worked algorithmically, in the same way a nested for loop processes data in the rows and columns of a table structure. He also worked directly from a smaller study, which he created originally working plein aire.

In considering Eric’s question, would it matter if Welliver’s larger paintings were painted from the bottom up or even side-to-side. The ordering or procedural application of the marks seems almost inconsequential; (although Welliver would have likely disagreed.) In addition, Welliver worked from a very limited palette of (I think) 8 colors, which he mixed beforehand. Thus his color decisions were also somewhat algorithmically predetermined. However, in spite of his system there is obviously a very direct correspondence between Welliver’s hand making each mark and the form experienced when viewing the painting, and to Welliver the nature of these marks was extremely significant in regard to the value of the work.

Another coded art form is musical composition. In composition, notation is purely symbolic and not intended as the public work of art, unlike the notation (marks) in a painting, or the actual musical performance. Similarly code is also not intended (by most people) as the primary expression. However, in composition there is still a correspondence between the notation and the musical form. Of course interpretation, musicianship, the quality of the instrument all influence execution. But changing the order of the notes will always and directly change the essence of the piece. This is not the case with code. Swapping while loops for for loops will have no impact on the (aesthetic) execution of a program, nor will countless other structural changes. Thus the question still remains unanswered. Or perhaps the question itself is problematic.

Is a direct correspondence necessary for a material to be an effective creative medium? If I can code 10 programs that all create the exact same image, does that somehow negate the value of the code as an effective medium? If code is not a medium, but instead a tool, then what is the medium? Is the problem that a specific programming language is too high level and thus includes too many pathways to the same low-level bit processing? Is the bit processing (down at the memory locations) actually the medium?

So I’ll continue hacking away, using code as a creative medium, in spite of my brother’s inspired confusion and doubts. At least I was smart enough not to make a wager with him this time.


  1. Quite an interesting post, but if you’re expecting answers, you’ll find none, at least from me. I love discussions such as this, even though logical conclusions are not always the outcome.

    One logical conclusion I come to from your post, is that this period of spending time with your family is priceless. I salute you, your parents and siblings.


    Shirley Buxton

  2. Shirley , thanks for taking the time to read the post and your kind words.

  3. “Is a direct correspondence necessary for a material to be an effective creative medium?”

    –correspondence between what and what? Between notation and expression or execution? – is there ever? I understand that it matters tremendously what words you use to express an idea (I’ve built my life around thinking about that!), but there are a lot of adjustments you could make without making much difference (changing, say, innumerable “a”s to “the”s; changing paragraph breaks; altering dashes to semicolons, etc.) At a certain point, some of the adjustments would make a difference in meaning (execution, expression — function?), but NOT to everybody; for some people, one change would make no difference, whereas for others, it would make all the difference in the world.

    My friend Carl the programmer says that every bit of code bears the mark of its coder’s style: he can pick out who did what if people are working together on a program. I could tell that the examples at the end of my O’Reilly XSLT were done by someone who didn’t write the book because they didn’t do simple basic things the same way. It all executes the same way, but is X’s as beautiful as Y’s? To me, maybe, but probably not to Carl. Don’t they call it “sweet code” when someone is able to do something amazing in a really compact, elegant way?

    If code can have style, then maybe code is more like musical interpretation than it is like notes on a page — or more like words than like notes, and some of us will care about non-functional (“unuseful”?) marks — style.

  4. I’m not sure I follow this thread but code seems to me to be both a language and a tool. Indeed, all language could be described as a tool to convey meaning and/or emotions. Also, code seems to have certain advantages and disadvantages over other languages. Unlike other languages, code is not intended to be viewed directly. While I agree with MadellC above that there may be a elegance and even beauty in the “sweet code”, it is difficult to see this as a true medium. Very few people can read or understand code, and even beautiful code would only be validated based upon the resulting execution.

    Separating the code out from its execution creates all sorts of problems. For example, how would one judge a beautifully written code that resulted in a blank screen (due to an error in the program). What about an digital art program that when viewed is adjudicated by the art community as a great piece and yet was written in a clumsy and inelegant fashion.

    If one does not separate code from its execution, than it has the disadvantage from other languages of only be viewed indirectly through its execution. In my discussion with Ira, I compared this to viewing the shadow of a sculpture.

    I like Ira’s comparison to musical composition, but also agree that an artist’s notation is unique to the execution. Thus, two programmers with very different skills and methods could produce the same “musical composition” using different “notes”.

    Code as a language also seems not well suited to convey emotions. Unlike other languages that allow the artists to directly convey their emotions through brush strokes, clicking a camera, writing words on a page, code requires artists to use their rational side of their brain to translate these things into computer images. Thus, the creative energy of the artist is both translated first by the artist himself and then hidden behind the execution to the ultimate viewer. The viewer of the art is seeing a shadow of sculpture that was copied from a painting.

    I imagine that there are advantages to coding, but as a non-programmer I’ll allow others to post them here.

  5. Crap! I just lost my initial response to Eric and Laura. Well here goes again.

    Thank you Eric and Laura for your wonderful comments!! It’s very rewarding to have 5 comments attached to a single post- a new record on this blog. Let’s hope it’s just the beginning.

    What I mean by correspondence is the direct connection between intention and form: an artist’s mark, a poet’s word, a composers’ note. Although, as Laura suggested, subtle changes in form sometimes have little effect on expression, formally the change is still significant. I also don’t think interpretation is relevant to this point. My concept of correspondence is not about the expressive potential of a work of art, but the connection between the creative process and its by-product. If a creative process does not lead to a unique work of art, then the process may actually subvert artistic intention. I don’t believe the idea of “sweet code” solves this fundamental problem either, and I agree with Eric that the separation of the code and execution is problematic for the reasons he listed.

    Having had a little time to reflect more on this problem, during a nice dinner with the family, Laura and our newest IMS addition, Jim Coyle and family, I have a little more clarity. Although code may not have direct correspondence between intention and form, low-level processing might. Thus the ultimate bit string of a piece may have a unique signature. This would account for stylistic coding variations, since all the higher-level procedures would collapse down to the same bit string when the executions of different implementations were the same. We can now almost find correspondence between intention and form. However, we still have the problem of the translation of intention. I can write a loop structure many different ways, but they all could collapse down to the same low-level procedure (I’m not completely sure of this.) One way to solve this translation problem is to change the correspondence from the actual code and execution to the algorithm and execution. This way a loop is a loop, regardless of how you code it. Considering algorithms as the building blocks of code (instead of the actual words), we can now categorize code as a medium, where intention is connected to form and each original coding process leads to a unique execution.

    Finally, in response to Eric’s claim that: ” Code…seems not well suited to convey emotions.” I would disagree with this. Any creative act can convey emotion, regardless of the medium. The fact that code requires analytical reasoning doesn’t preclude it from being used to convey emotion; it’s not an either/or situation. Additionally, artists usually focus on the formal aspects of a medium when creating, not necessarily the emotions they are conveying in their work. I used to tell my painting students that a painting was the by-product of a process, and I think the same holds true for coding.

    It’s late and I’m tired. Let me know if any of this makes sense (or better yet if it doesn’t.)

  6. Thanks, Eric, for that thoughtful reply — and it’s nice to meet you virtually. I’m having trouble staying on top of the discussion, but I have to say two things about both Eric’s and Ira’s responses.

    The “conveying emotion” metaphor for the effects of art / language makes me uncomfortable. In this metaphor, words are containers. The writer puts an emotion in, and the reader takes it out. An alternative view (mine, and maybe Ira’s?) is that writing and art create emotions, selves, senses of being, experiences, the world — words and pictures aren’t containers for things or vehicles for emotions but the things themselves; nothing precedes the world-creating power of reading and writing and seeing. The language=container metaphor makes form absolutely inconsequential: it doesn’t matter whether your pot is a grecian urn or a tupperware, as long as it has “sadness” in it. I think that’s why code can be art for me and not for Eric (if I’m understanding your argument) — because I’m not sure I’d measure art by things carried.

    Second, to get back to Eric’s great point — “how would one judge a beautifully written code that resulted in a blank screen (due to an error in the program)?” — I do that all the time as a teacher. There are lots of perfectly executed papers that stink and others that don’t work — no one would read them besides me, the teacher — but which are doing something really interesting. They are more interesting in their failures than are many others in their successes. Math professors will say, yes, you have correctly performed the proof but screwed up the math (addition, subtraction, division, whatever) so that it doesn’t seem to work. When I’m coding, a blank screen is sometimes the least of my worries. Why the blankness, that’s huge, but you could be working on understanding that blankness and have a good, a very satisfying blankness. — o.k. so that’s talking about creating code rather than experiencing it, but I wonder, how different exactly is experiencing art from creating it? Some creative process has to be stimulated in a viewer / reader — maybe not an identical one, but they have to be in same ballpark. So if code is art, there will be more code readers than programmers, as there are more readers now than writers?

    (Are there more readers than writers? I sat next to a man on the plane to Charlottesville who pulled out four or five poems he’d written, they were really good; and I found myself wondering: if I had been next to everyone in the plane, how many poems would I get? O.k., o.k., some people would have pulled out plays . . . .)

    About reading code: it isn’t so many centuries ago that most people couldn’t read written language. As late as the 1600s (just to wax professorial and historical), you could get “benefit of clergy” — stay of execution — if you proved yourself capable of the divine capacity of being able to read. That’s why a whole bunch of criminals were memorizing translations of Latin verse. I wonder if at some point that won’t happen to us: white collar middle management will get stays of job execution if they know Ruby on Rails?

Leave a Reply


You are commenting using your account. Log Out /  Change )

Google photo


Twitter picture


Facebook photo


Connecting to %s

%d bloggers like this: