There’s a new article on O’Reilly’s ONLamp.com that talks about the similarities between art and computer programming. It’s along the lines of Paul Graham’s Hackers & Painters, which I’m currently reading (I’m going to put a recommended reading list up in the next week or so).
I’ve been thinking about this subject quite a bit over the past few weeks, and here is my take on it:
First, let me say that this is a purely academic discussion. There’s no benefit to objectively proving that computer programming is or isn’t an art except to brag or cry about it, whatever the case may be. I don’t think any of us plans to apply for an NEA grant in the near future.
So is programming art?
It can be.
Most programmers, probably more than 95%, resemble house painters rather than impressionist painters. I don’t mean this in a derogatory way; it has nothing to do with their ability or the prestige of the work, rather their motivation for doing the work.
If you take a starving artist, whether a musician, a writer, or a hacker (in this context I mean someone who writes really good code), he has a certain amount of desperation and passion. Every day he plays/writes/programs not because it makes him rich, but because that’s what he loves to do. It fulfills an intense desire in his soul that spurns him to create.
In this sense programming is art.
I bet that most of us started out that way; teaching ourselves Perl for fun. We built websites because we wanted to, not because they served a purpose. This resembles art: guitar players write songs because the desire burns within them. Painters create paintings because it fills an emptiness. The creation has no other purpose but to bring pleasure to those who experience it; to inspire and create emotion.
But once the writer decides to make money writing ad copy or the hacker decides to take a salaried position building business applications, some of the passion inevitably leaves the process. When an artist is not free to create from the soul but is instead told to write a jingle for Loads of Fun Laundromat or build a web page to sell “I heart your mom” bumper stickers, the emotion is lost. And art relies heavily on emotion.
For the record, I love my job and I can’t think of anything I’d rather do for a living. And although I like to think that what I build everyday is a brilliant work of art I have to be honest and realize that there is a difference between me and the starving artist down the street.