TITLE: Programming as Performance Art AUTHOR: Eugene Wallingford DATE: January 28, 2005 9:49 AM DESC: A software dojo and my own class have me thinking about what it's like to enjoy programming as a live performance. ----- BODY: I've been following the development of Laurent Bossavit's software development dojo. He wrote about the idea in his blog a few times last year and then created a separate blog for it at this month at http://bossavit.com/dojo/. The most recent article there speculates about programming as a performance art. It seems that the guys in the dojo have been presenting their code to one another and doing some of the programming live in front of the group. The experience has caused the author to re-think his artistic sense of programming:
Had I to choose earlier an art form which I felt connected to the act of programming, I would have picked book writing without hesitation. Something static, written at some time, read at another. Few dojo sessions later, I am not so positive anymore. I speculate the act of programming is also about the here and the now: how you currently live through the problem up to a satisfying conclusion, and how I feel engaged, watching your sharing techniques and insights. No cathartic experience so far -- hold your horses, this is sill embryonic stage -- although this could become a personal quest.
I feel a kinship here after the first three week of my CS II class, in which my students and I have been "gang programming" Ron Jeffries's bowling game using TDD. I've spent very little time expounding ex cathedra; most of my remarks have been made in the flow of programming, with only an occasional impromptu mini-lecture of a few minutes. If you know me, you probably don't think of me as a natural performer, but I've felt myself slipping into the gentle drama of programming. New requirements puzzle us, then worry us. A test fails. Programming ideas compete for attention. Code grows and shrinks. Green bar. Relief. I hope that most of the students in the class are getting a sense of what it's like to make software. I also hope that they are enjoying the low drama of course. My recent experience has brought to mind my favorite article on this topic, Bill Wake's Programming as Performance Art. He tells of seeing a particularly stirring performance by Kent Beck and Jim Newkirk:
They tackled the chestnut "Sieve of Eratosthenes." The 4-hand arrangement worked well, and let us see not only "programmer against complexity" but also "programmer against self" (when they started to make mistakes) and "programmer against programmer" (when they resolved their differences). The audience appreciated the show, but we should have applauded more enthusiastically.
I don't know what I'd do if my students ever applauded. But even if they never do, I like the feel of our live programming sessions. We'll see how effective they are as learning episodes as the semester progresses. -----