Skip to content

Why programming fits into our brains

December 13, 2011

By J.D. Hildebrand

For a few months now, I’ve been intending to comment on a short essay by SD Times blogger Victoria Reitano. Maybe you remember it. Reitano posted “Software development: manufacturing process or creative idea?” from Salt Lake City’s Agile 2011 conference back in August. The title caught my eye immediately. Reitano’s question is a variant of a classic recurring debate: Programming: Art or science? It seems like everyone has taken a shot at this question at one point or another:

If you think I’m going to wade into this debate, you’re crazy. The problem is that the question, as framed, doesn’t allow for a sensible answer.

You want to know what programming is? It’s…a creative discipline. I know, because it tickles the same part of my brain that is tickled by other creative disciplines.

When I was young, I had very serious musical ambitions. I did a fair bit of composing. You know what I liked about it? The combination of rigor and complexity. Musical composition requires mastery of a hugely complex set of rules, some inherent in nature and some established more arbitrarily through centuries of tradition. Despite the thousands of rules, composers are expected to exercise immense creativity. In fact, creativity is a sine qua non for achievement in musical composition.

Architecture is much the same. Those who design buildings must first master in-depth knowledge of materials, structural relationships, and historical precedent, all of which are more or less binding upon their subsequent efforts. Yet within these bounds, they must employ their creative senses to create aesthetic affects.

I think that even chess-playing is a creative discipline, at a certain level of seriousness. The would-be grand-master must internalize a complex set of more or less arbitrary rules, then deploy his pawns and pieces according to an overall strategy that can only be described as artistic.

Cooking and the writing of fiction rely upon similar mixes of complex conventions and an aesthetic element based on creativity.

Human brains – at least the brains of computer programmers, composers, architects, chess players, cooks, and writers – are drawn to tasks that conform to this mix of requirements. The essential elements are complexity, rigorous rules, and the opportunity for creative expression.

We programmers like to think of ourselves as a unique branch of humanity, spawned mere decades ago along with the microprocessor. But that isn’t the case. Our love of complexity, rigor, and creativity makes us more, not less, human.

Web recommendation: I love the blogs at SD Times and I feel honored to have a home here. If you’re looking to do some reading, you could scarcely do better than browsing the archives here – even before I joined the team a few months ago, the nuggets among these posts were pithy and frequent. But if you find that you have additional time and curiosity, then you simply must check out the blog network at Scientific American. These posts are funny, serious, timely, in-depth, provocative, and relevant. Be warned – if you dip your virtual toe into these waters, you may find yourself drawn in like Hylas among the nymphs. The Scientific American blog directory is here. J.D. says check it out.

source: sdtimes

From → Programming

Leave a Comment

Leave a comment