Art starts where (prior) science/utility/craft/trade stops giving you answers.
Take an abstract painting. The only functional requirements are that it covers a canvas which you can hang on a wall, and that it will interest viewers. Beyond those things there are really no 'answers' or 'directions,' so the 'artistic territory' begins immediately. If you've ever tried to make an abstract painting, you'll know that even when you don't know what the hell you're painting, you still know there are bits you like and bits you don't. The art is in exploring this uncharted territory to create a whole work that somehow pleases, albeit due to little understood principles ('why is this splotch of green more appealing than that blob of red?').
Take another piece of visual art, say a portrait - it's supposed to capture the likeness of the person, as well as fit on a canvas etc., so there's a bit further to travel before you're in pure artistic territory. If it's a piece of graphic design, an architectural sketch, most of the journey is just applying techniques to capture the functional requirements.
In a discipline like maths or engineering, most people, most of the time, are working well within the established techniques, to solve problems that have been solved countless times before. You need to go a long way to reach the cutting edge, where mathematics can become an art.[1]
Programming, however, sits somewhere in between. While it's nothing like abstract art, as we do have vast sums of established knowledge, plus best practices, standard techniques, etc., I'd wager that most programming projects have a very large quotient of 'the unknown' (as evidenced by the failure and lateness rate of IT projects). Therefore programming is in large part an art - there are often no well trodden routes to success, but the great programmers always seem to get there. They tame the unknown, but not in a way that can easily be transmitted to other workers/programmers.
When you see a piece of embroidery, it's artistic in the sense that we don't know exactly why it is appealing, but the person who 'crafted' it was probably not exercising any great artistic expression, just repeating an old design. Just because something's functional requirement is to be aesthtically pleasing, doesn't mean it's a 'craft' which is intrinsically different from disciplines which lack that particular functional requirement. We need to rethink what we mean by art and non-art. In paintings or music, the jump-off point is almost immediate: you have few functional requirements, and few relatively rules to guarantee results. From there onwards it's down to insight/ability on a fleeting, individual basis. With other disciplines, you have many functional requirements and many rules/procedures that let you meet those requirements if followed diligently. Sometimes aesthetic appeal is one of the requirements, sometimes not. But there comes a point once again where only individual insight/ability can bring further progress. Our only choice is to rely on talented people.
Have you ever seen the film, 'A River Runs Through It?' It's about two estranged brothers who are reunited in adulthood, and they think back to years before when their father would take them fishing. Their father said the most important thing for a man to have was 'art.' He didn't mean owning pictures, or painting them, he meant whatever vocatoin/profession/trade you choose, you need to make an 'art' of it. The narrator/protagonist's brother (played by Brad Pitt) was a failed person in some respects, but he had developed an incredible technique/knack for fishing that nobody else understood. Thus, he 'had art.'
So anyway, programming does not usually involve aesthetic appeal as a functional requirement, but it is sometimes an 'art.' I would conclude therefore that we need to listen to the advice of our greatest artists... but you can never replace the art with a formula.
[1] of course, we very often operate on the edge of our own abilities, but until we've reached a frontier where no one else has gone, our 'art' wont deserve any audience
Art starts where (prior) science/utility/craft/trade stops giving you answers.
Take an abstract painting. The only functional requirements are that it covers a canvas which you can hang on a wall, and that it will interest viewers. Beyond those things there are really no 'answers' or 'directions,' so the 'artistic territory' begins immediately. If you've ever tried to make an abstract painting, you'll know that even when you don't know what the hell you're painting, you still know there are bits you like and bits you don't. The art is in exploring this uncharted territory to create a whole work that somehow pleases, albeit due to little understood principles ('why is this splotch of green more appealing than that blob of red?').
Take another piece of visual art, say a portrait - it's supposed to capture the likeness of the person, as well as fit on a canvas etc., so there's a bit further to travel before you're in pure artistic territory. If it's a piece of graphic design, an architectural sketch, most of the journey is just applying techniques to capture the functional requirements.
In a discipline like maths or engineering, most people, most of the time, are working well within the established techniques, to solve problems that have been solved countless times before. You need to go a long way to reach the cutting edge, where mathematics can become an art.[1]
Programming, however, sits somewhere in between. While it's nothing like abstract art, as we do have vast sums of established knowledge, plus best practices, standard techniques, etc., I'd wager that most programming projects have a very large quotient of 'the unknown' (as evidenced by the failure and lateness rate of IT projects). Therefore programming is in large part an art - there are often no well trodden routes to success, but the great programmers always seem to get there. They tame the unknown, but not in a way that can easily be transmitted to other workers/programmers.
When you see a piece of embroidery, it's artistic in the sense that we don't know exactly why it is appealing, but the person who 'crafted' it was probably not exercising any great artistic expression, just repeating an old design. Just because something's functional requirement is to be aesthtically pleasing, doesn't mean it's a 'craft' which is intrinsically different from disciplines which lack that particular functional requirement. We need to rethink what we mean by art and non-art. In paintings or music, the jump-off point is almost immediate: you have few functional requirements, and few relatively rules to guarantee results. From there onwards it's down to insight/ability on a fleeting, individual basis. With other disciplines, you have many functional requirements and many rules/procedures that let you meet those requirements if followed diligently. Sometimes aesthetic appeal is one of the requirements, sometimes not. But there comes a point once again where only individual insight/ability can bring further progress. Our only choice is to rely on talented people.
Have you ever seen the film, 'A River Runs Through It?' It's about two estranged brothers who are reunited in adulthood, and they think back to years before when their father would take them fishing. Their father said the most important thing for a man to have was 'art.' He didn't mean owning pictures, or painting them, he meant whatever vocatoin/profession/trade you choose, you need to make an 'art' of it. The narrator/protagonist's brother (played by Brad Pitt) was a failed person in some respects, but he had developed an incredible technique/knack for fishing that nobody else understood. Thus, he 'had art.'
So anyway, programming does not usually involve aesthetic appeal as a functional requirement, but it is sometimes an 'art.' I would conclude therefore that we need to listen to the advice of our greatest artists... but you can never replace the art with a formula.
[1] of course, we very often operate on the edge of our own abilities, but until we've reached a frontier where no one else has gone, our 'art' wont deserve any audience