2008
The Primal Element
Over the weekend I went camping. (Fireflies are beautiful, aren’t they?) Being obsessed with programming, it was nice to return to nature for a little while.
At one point, performers captivated the attention of everyone there. It’s easy, really, when you have music with a good beat, fire, and sexy dancers. How can people not be captivated.
That’s what made me think… I’ve long believed that programming is just like life, in many, many ways. Except, there’s one aspect that seems to be missing: the heat of the moment. In sports, video games, or dancing, there is this “moment”, whether from real life-threatening danger, competitive thrill, or ego-erasing improvisation, that never arises in the sphere of programming. Why?
Programming in general, closely tied to machines, has always seemed to be missing this primal element — something you’ve felt if you’ve ever watched fire-spinners performing to live music. I’m confident it’s there, if we can just find a way to show it to people, connect them to it. Can it be done through graphics, sound, or some kind of sensory soup?
Another thing is that the result of programming and the act of programming are disconnected in time. When you perform music, for example, the resulting sound gets heard as you physically play it, creating instantaneous consumption and feedback. In programming, this is not the case. The act of coding is often drawn out over time. Automated feedback is usually dull and lifeless in the form of a textual error message or a red squiggly underline if you’re lucky. Of all the different activities to get “in the zone” in, programming is the most one-way, least interactive. On top of that, executing a program is even more disconnected to the creation process. As build time increases, the disconnect increases exponentially.
One could argue that programming is more like composing music than performing it, so the analogy is invalid. After all, composing can be just as disconnected as programming. However, this discounts the possibility of improvisation — where performers compose, even “battle”, as they play. Such a thing is nonexistent in the world of programming.
One idea has come to me, but before I say anything, I wanted to pose this question to the Universe. What is the primal, natural element of programming? Where is it? How can we show it?
See also: The Musical Element