Saturday, April 19, 2008

Programming is NOT an art

I have been quiet lately as I work on some larger bits of writing, but some posts today can't be ignored, mainly "Programming as a Fine Art".

Have you read it? If so, let it be known that I vehemently disagree with the idea that programming is an art. I got paid to be a programmer for a number of years, and never did I feel artistic. I did some new, cool stuff on some projects, and did grunt work on others, as described in the above article. An essential word that is passed by quickly in the article is "craft". Craftsman create things that are to be used; they may be decoratively ornate - think of antique furniture you see on Antiques' Roadshow - but that is to make the object more appealing to potential buyers.

Software is created to be used. Anything that is considered Art is not that pedestrian; Art is intended to communicate, inspire, provoke and all that, I don't see the NEA (U.S.)sponsoring software development, and don't expect software to ever be banned in Boston.

Another essential word in the article is 'engineering', as in software engineering. Engineering is defintely not Art, it is applying methods to solve real-world problems with solutions that don't fall down (like bridges) or fail to work (like software). In fact, reaching an actual Engineering level of discipline for software is something we should aspire to, leaving craftsmenship behind, as happened in the Industrial revolution with manufacturing plants putting craftsman out of work.

I know this article is about why the teaching of programming is suffering in the wider discipline of Computer Science, but treating it as a 'liberal art' is not the solution. If programming is going to continue to be a craft for some time to come, then the classic apprenticeship approach is the way to go. Although I was Computer Science grad, that is how I started. My first employer knew that grads of other disciplines could also be candidates, so it had a programming evaluation test for applicants. If you passed it, the company believed you had the skills to program ,and I enede up working with many people with other degrees like law.

In the end, a university degree shows that a person can learn; the specifics of what they studied may or may not be useful in their careers. So, companies should be looking for people willing to learn programming, rather than expect them to already know how.  

No comments:

Post a Comment

Dear blog visitor, Thanks for visiting my blog.