Monday, July 27, 2009

In your opinion is Computer Programming a Science or an art?

If you had to choose whether you thought it was a science or an art what would you choose? I personally think a science but i need to hear others opinions for a short paper I'm writing.





p.s. - does anyone know wher i can get an "experts" opinion on this?

In your opinion is Computer Programming a Science or an art?
Donald Knuth, a well-known computer expert who has written many standard books including "The Art of Programming", definitely thinks that programming is an art. Check out this article: http://www.paulgraham.com/knuth.html





Here is his core reasoning (a direct quote)


"Science is knowledge which we understand so well that we can teach it to a computer; and if we don't fully understand something, it is an art to deal with it."


He goes on to support the idea that we don't yet understand programming that well, so it must be an "art" (something that requires human intuition).
Reply:I don't think I would call it an art but I will say I get the same creative juice from programming as I do from graphic design. It is a creative process to bring a new program to life. You start out with just a couple of lines of code and then you test. If that works you add some more and then you test....





Ultimately, you compile the thing and send it off into the world - allow someone else to install it and see if it works.





A Science is a study of something. Really, it's only a science in as much as you don't understand that particular programming language, and you have to study it - experiment with your code to get it to do what you want.





But is it an ART? No, definitely. I don't create a program to move you to an emotional response! I create a program to help you perform some complex task simpler. Based on the definition of art, programming is just about the opposite of ART. That's not to say someone couldnt write a program specifically to try to elicit an emotional response, but 99.99% of the software available is about solving problems.





So... I would best describe programming as Creative Problem Solving, but not really art or scinece.
Reply:I've been earning a living writing programs for 35 years - does that make me an expert? I don't know. (Nor do I care - if I'm not, I'm the highest paid non-expert I know.)





Programming is like plastic surgery - you need the scientific knowledge to be able to be good at the art. IOW, it doesn't fall into either category exclusively. It's also a technique (or, rather, a lot of techniques) and a 'calling'. And probably a lot of other things.


No comments:

Post a Comment