What a Bunch of Clowns


A nod of some sort to the "two cultures" of art and technology has become obligatory at OOPSLA over the last few years. An OOPSLA 2004 Panel chaired by Jim Haungs on whether software design is math or science or arts or crafts revisited the enduring theme of similes for software development (among other things). The four panelists shown to the left, from left to right, are Richard P. Gabriel, Martin Fowler, Steve McConnell, and Ralph Johnson. Shown to the right is late addition Robert Biddle. Photo of Robert Biddle

Two newbies I know later dubbed this panel as the single most impressive thing they'd seen at OOPSLA. I found it pleasant, and at times thought provoking (and I am not one who is easily provoked to thought), though I found myself at the disadvantage of being already familiar with the likely positions of most of the panelists.

Ralph took the eminently sensible position, as is his custom, that software development is, above all, engineering, and gave an engaging presentation on the travails of nineteenth and twentieth century bridge engineering based on the work of Henry Petroski. In the early days of railroading, railroad bridges were as prone to failure as software is now, frequently with more lethal results.

Biddle mined the same fertile post-modern vein that has served him and his antipodean sidekick James Noble so well on the Onward! circuit over the last three years. My recollections of his presentation have melded into a conflated kaleidoscope of notions and reconstructed memories like "the death of orthodoxy" and "making do in a post-precision heterogeneous polyglot playground of a world". I'm pretty sure Robert didn't quite say any of these things, but they are in the spirit of what he said, which was in the spirit of the Zeitgeist he was trying to summon out of the humanities. In this respect, he may been the panelist most true to the panel's theme. I recall some mention of nihilism and certain French academicians. All and all, the sensibility was a generation beyond the outmoded technotopianism that our own villiage elders still hew to, and was in considerably better touch with life in the trenches.

McConnell, predictably, hawked his more troublesome notion of software construction. My main beef with the construction metaphor is that it perpetuates an enduring confusion between software design and software product fabrication. Software design has much more in common with the process of deciding on the layout of a house than it does with the process of merely driving the nails at the site. We are more like the people who design cars than the people who assemble them. The analog to auto assembly for us is disk replication. Despite this fact, the industry has exhibited a persistent desire to treat software development as an essentially blue collar activity. Metaphors like McConnell's do little to dispel this harmful perception.

It's customary to conclude such discussions with the observation that no metaphor is perfect, and that a programmer is, after all, just a programmer, as the agile folk are fond if saying. This discussion was no different. "Programming is like nothing else" opined programmer cum poet Richard P. Gabriel.

I had been content, as of late, to leave this issue there, but the panelists had managed to re-convince me instead that metaphor was more important that ever. Metaphor matters. As I pondered their positions, I was struck by a metaphor drawn from the arts: We're all a bunch of clowns.

So, "What a bunch of clowns!", I exclaimed. Not just the panelists, all of us. Programming is like ... comedy.

Another software simile was born.

For instance, APL programmers and comedians share an affinity for pithy one liners. Take this one for instance: What poetry has in common with code is that no one ever reads it.

Doing either well demands creativity, and a mix of improvisation and scripting skill. Comedians test, iterate and polish their material until it executes perfectly.

Fred Brooks, after all, is said to have found that there is a factor of twenty difference between the best and the worst comedians...

I'd missed most of Dick's position, alas, and hard a hard time recalling what Martin had said, at first. Then I remembered that he'd offered yet another software simile: programmers are like lawyers. I'm pretty sure I shopped this around at a panel a couple of years ago. I liked Martin's treatment, though he could have played up the domain expertise angle more. I've posted my 2002 notes here.

This reference also had the effect of reminding me of one of Martin's previous forays into the realm of object-oriented jurisprudence at the Show Trial of the Gang of Four back in Denver during 1999. Martin can be scene in the solicitor's wig, third from the left. He'd painstakingly supervised the trimmng of the solicitor's wigs beforehand, so as to ensure they were shorter than the presiding judge's, and thereby maintain the dignity of the court.

Gabriel et al. Photograph (C) 2004 by Munawar Hafiz

Some subsequent comments on POMO and Biddle from Ian Clysdale...

About this Entry

This page contains a single entry by Brian Foote published on October 27, 2004 3:11 PM.

O-O Canada was the previous entry in this blog.

In the Shadow of the Moon is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


November 2012

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Brian's Links



Brian Marick
Martin Fowler
Ralph Johnson (That's Completely Bogus!)
Dave Thomas (The Pragmatist)
Glenn Vanderberg
Patrick Logan
Lambda the Ultimate
Joshua Allen (Better Living Through Software)
Mariann Unterluggauer (Motz)
James O. Coplien
Eugene Wallingford
Blaine Buxton
Nickieben Bourbaki
Travis Griggs
Ivan Moore
Mike Mikinkovich
Superboy & Ward
Rebecca Wirfs-Brock
Nat Pryce
Tim Ottinger
Forrest Chang
Gregor Hohpe
Sam Gentile
Robert Hanson
Chad Fowler
Jonathan Edwards
James Robertson
Bruce Eckel
Andrew Stopford
Tully Monster
Grady Booch
Dave's Ramblings
Solveig Haugland
Dave Hoover
But Uncle Bob
Doug Schaefer
Ted Leung
The Farm
Ian Clysdale (Random)
Gilad Bracha
Keith Devens
Urbana-Champaign Techophiles
Stefan Lauterer (Tinytalk)
Planet Python
Chris Koenig
Peter Lindberg (Tesugen)
Jason Yip
Sean McGrath
Jeff Erickson (Ernie's 3D Pancakes)
Steve Freeman (Mock Turtle Soup)
hakank (komplexitetemergens)
Deciduous Ponderings
Take One Onion
Ken Schreiner
Hen so.com
Michael Mahemoff (Software as She's Developed)
Champaign Media Watch
Jason E. Sweat's Weblog (PHP, etc.)
Raymond Lewallen (Code Better)
Keith Ray
Raymond Chen (The Old New Thing)
Neil Gafter
Joe Walnes
Ivan Moore
LD/dazza (Lost in La Manche)
Scott Rosenberg (Wordyard)
Dave Stagner (Sit down and shut up!)
Walter Korman (Lemurware)
Munawar Hafiz (The space between)
Rafael de F. Ferreira (Rafael Rambling)
Mike Hostetler (Where Are The Wise Men)
Jordan Magazine
Andriy Solovey (Software Creation)
Mike Griffiths (Ideas and essays on code development)
Ashish Shiraj (Ashish Kumar -- Software Test Engineer)
Nathaniel T. Schutta (Just a thought...)
Lynn Cherny (Ghostweather R&D Blog)
Dominique Boucher (The Scheme Way)

Powered by Movable Type 5.14-en