Some more random observations on the idea of programming as art:
When I think about it, looking at code is a rather synaesthetic experience for me. When I look at nasty monolithic code, it feels heavy and dark; the sensation is not unlike looking at an HR Giger painting, full of menace lurking behind every line. By contrast, "good" code feels airy and light, a sculpture perfectly molded out of soap bubbles. I don't mean this in a simple metaphorical sense, either -- code can often evoke as much emotion from me as a painting (sometimes more).
It's intriguing to realize that I really think of myself as an artist when I'm programming, and the sensation is very similar. When it's going well, I get sucked in, fully involved with every line; I lose time, in much the same way I do when I get involved in music.
Of course, one must pay the bills -- the artist often has to give way to the craftsman, who knows that getting it done now is often more important than getting it done perfectly. Sometimes that bowl is just supposed to be a bowl. But the artist still sneaks out, sticking fine filigree in the bottom, where even the buyer can't see it. Even if no one knows about the fine artistic details, I know that they're there, and ultimately the art is mostly about satisfying my own sense of aesthetics.
All of this makes me think about the notion of programming as a calling. When writers are asked why they chose that career, they often answer that the question misses the point: they write because they can't not write. It's much the same for me. Code is so deeply in my blood that, during my spells of unemployment, I find myself compulsively writing something, just to get a hit of the satisfaction of creation, strong drug that it is.
I have to wonder how many programmers feel the same way. And I'm curious about the correlation between that, and who winds up still in the industry after the current contraction ends. I suspect it'll prove to be quite strong...