I've always wondered about this... I can see it both ways. On one hand, art generally doesn't deal with math and numbers like programming does. Yet programming isn't a day-to-day job either, nor is it generally a groundbreaking area of life where programmers are making revelations. I don't think there's anyone that programs to discover new things, or just because they need a daily job. Programmers are passionate about their work, and love it. So what do you think?
I think the answer is, "programming is engineering". Engineering involves some art to it, because rarely is there a formula which you can plug in to optimize all parameters. You have to experiment a bit to see what works, and tweak... those things require human intuition.
(If it didn't require human intuition, then somebody would have written a program already which is capable of writing all other programs.)
But I resent those who say that programming is an "art". This viewpoint is used to justify defects existing in software, or suboptimal design.
Programming is like building a bridge. It is possible to design it all up front, then construct it, and it will operate perfectly for decades within its specified parameters of operation -- bridges rarely fail unless some external catastrohpic event occurs.
On the other hand, modern software fails ALL THE TIME.
The biggest reasons for this are:
1) It's still a young field,
2) Way more demand than supply right now -- so idiots get into the field who wouldn't normally make the cut in a real engineering field (Also, the bar to entry in software is lower than, say, bridge building. You can mess around constructing software at very little cost. Buildling large scale bridges on your own is preposterous.)
3) No strong standards organizations like other engineering disciplines have
4) Wrong business mentality -- most people hiring developers are looking to do the job as cheaply as possible, so they hire incompetent developers. If you RFP'd the construction of a new building, you'd be DAMN sure that the developers were top notch before you let anybody set foot in the building, but if you RFP'd a new information system you'd probably toss it to the cheapest bidder.