Saturday, March 03, 2012

Programming as Artform

Fascinating post from joe evans @techcrunch (http://tcrn.ch/xPPEUX) on the cost/benefit of pair programming. While not the focus of the article, his observations about programming as artform have been on my mind lately as I've been working thru the CodeYear program at Codeacademy. The processes is helping me recall forgotten skills and ways of thinking, and is introducing me to new concepts and approaches. However, no matter how hard i work at it, I'll never come near to being a talented developer. 

There is deep creativity involved in writing exceptional code. I can look at an object or module and appreciate the nuance and insight that went into its creation. While I might be able to write something that accomplished similar objectives (probably not), it certainly wouldn't be as effective and efficient (or elegant). It would be a kludge par excellence.

I think the best analogy is of programming as a functional art. If you think about pottery or glass blowing or woodworking or photography, there are a lot of people who've taken a few classes and can create a vase or a bookcase. My son and I spent weekends this past summer building a bookcase from plans in a woodworking magazine. It's functional, but as hard as we tried, you can take one look at it and know that it was the work of amateurs. Similarly, there are very few people that have risen to the level of turning these disciplines into "art".

Programming artists, you are appreciated! Thank you for taking our half-baked ideas and making them beautiful.

No comments: