Is Programming Art?
chromatic writes "A constant question for software developers is 'What is the nature of programming?' Is it art or science? Does creativity or engineering lead the design and implementation of a program? John Littler talked to several well-known and well-respected programmers (including Guido van Rossum, Andy Hunt, Bjarne Stroustrup, Paul Graham, and Richard Stallman) to find their answers; he shares their thoughts and his own in Art and Computer Programming." From the article: "What the heck is art anyway, at least as most people understand it? What do people mean when they say 'art'? A straw poll showed a fair degree of consensus--art is craft plus a special degree of inspiration. This pretty much explains immediately why only art students and art critics at a certain sort of paper favor conceptual art. Conceptual art, of course, often lacks a craft component as people usually understand the term."
I think Richard Stallman put it quite nicely:
"I would describe programming as a craft, which is a kind of art, but not a fine art. Craft means making useful objects with perhaps decorative touches. Fine art means making things purely for their beauty."
When you have to take functionality into account, it often kills the artistic side of the creation.
Rock that crushes, Paper & Scissors that don't matter.
I'd say it is mostly science by nature, but you can make it into an art. You can make just about anything into an art with enough creativity. I can see how you might think it could be an art without doing anything special, but I feel it is a lot more technical.
Scott Simontis
Programmers do meet one of the requirements that you have to meet to be considered an artist: They make no money.
Earn a % of cash back from Newegg, Tiger Direct, Walmart.com, and more: http://www.mrrebates.com?refid=458505
For me, art must express some level of emotion. Good art communicates that which cannot be said.
While Windows sometimes makes me cry, to what degree does programming convey emotion?
Same as usual, a bridge can be beautiful to look at, beautiful in how it copes with it's load etc, same as code, it's just people don't like looking at code as engineering for some reason.
If a well-composed essay is a form of art... I would have to say an efficient program is certainly a form of art.
... you have very few who understand it... and not a lot of people who care a lick about it.
You just have to remember the appeal of art of this sort is MUCH smaller... you need to understand it to really enjoy it... and unlike abstract art or modern art (where very few understand it and very many say they do)
So, yes, it is an art form... for a very small subset of the population.
My two cents, anyway...
MoM++ - A Classic Expanded - [Master of Magic 1.5]
http://mompp.sourceforge.net/
Load up the cannons -- here's the perfect slashdot story: programming art or science?
That's like a story that's titled, "Chocolate Ice Cream, better than Vanilla?"
Art is subjective. If you believe that some part of science is subjective as well, then you understand that there is no easy answer to the question posed. If you think science has no subjectivity, then welcome to the food fight!
Quality: It's a Numbers Game
If coders *only* do what they must to get the job done, then how do you explain Perl poetry, for example? What about Perl golf?
How about things like quines, or programs that are valid and working programs in more than one language at once?
Aren't these things art? If not, why not? A programming language is, per se, just a tool - just like a brush. You can use brushes to simply coat things with paint, and there are many people who do just that for a living; but you can also use them to create art. The same goes for programming languages, doesn't it?
quidquid latine dictum sit altum videtur.
Art is aesthetic, not useful. While you can use those aesthetics for a useful purpose (e.g. selling it to people who appreciate those aesthetics), that doesn't mean it's intrinsically useful.
Programming is a craft. It is useful, which distinguishes it from art. A certain sense of aesthetics, skill and experience is necessary to program effectively, which distinguishes it from merely being a profession.
Computer science- the concepts of bits and bytes and memory addresses is a science. There is a right and wrong answer for pretty much everything. Its researchable and falsifiable.
The design of a computer program is an art. There is no defined standard for what is or is not good design, its not falsifiable. And its not something that can be taught by rote in a college course. Picking the right design for your specifications and requirements is an art, and one that too few people really understand.
I still have more fans than freaks. WTF is wrong with you people?
There's just no one big bucket called "programming." To the extent that one's code interacts with, or communicates to a user, there's ample room for an artful implementation. Especially when the code's purpose is, through that interaction, to inform or pursuade. Yes, that's getting into "content" rather that programming, but the line between those is very, very fuzzy, especially in web development.
That being said, I think there's a certain intrinsic beauty to the way that I indent my subroutines.
Don't disappoint your bird dog. Go to the range.
My perl code looks way sexier than Britanny Spears, how come IT didn't win one of the 50th sexiest people?
What should problem happen is a split.
Have to programs, "Comp Sci", which would remain what is is, and "Programming" which would focus much more on "real world" issues. Think of it kinda like Physics vs Engineering.
TODO: Something witty here...
A constant question for software developers is 'What is the nature of programming?' Is it art or science?
Maybe I am a strange software developer, but these are not the questions going on through my mind at night. Maybe "how can I improve the design" or "what does the customer really want from this product" but usually it's "how can I get that cute girl back to my place". Seriously though, these people have too much time on their hands. I didn't RTFA, so it may be brilliant. But programming is definitely a science. The thing is, that as programmers, we can recognize beauty in the design and implementation of a program. In that sense, to us, it can be beautiful. We might say the programmer is so good that he is an artist. But this is true in any field. We have someone install our networks and truly, he is an artist. He takes the spaghetti of thousands of cables and makes it so neat and logical it would make an artist weep. But is it art? No...that's a stupid question.
Support a great indie game: http://www.abaddon360.com
People who come to enjoy programming, in my experience, come from all sorts of backgrounds. I have met coders who were formerly big into music, or poetry, or photography, etc. I myself was a psych major (albeit a CS minor), which might explain my interface-nazi tendencies with regards to UI design ;) I couldn't be a CS major because I kept messing up ::cough:: flunking ::cough:: my "weedout" engineering calc classes (which were a CS requirement at my school), but in hindsight, I liked being able to take lots of electives. So, although I would be at a loss to create a new useful compression algorithm, and am probably not the BEST programmer out there, i really like to design and develop nice code/nice backend database schemas, that result in something that someone thinks is kickass.
;) So I can actually document my own stuff pretty well, and I've been client-facing for a while so I know how to write courteous emails with lots of e-business-speak... ;)
;)
;)
;)
Unlike a lot of coder geeks I know, though, I got A's in advanced english classes, AND art classes
My boss at my former job used to play football and now codes. Can you imagine?!?! Football! While I spent summers geeking out, he was learning what a button-hook was. The horror. lol. (i pretty much have zero interest in sports. it seems like a lot of pointy-haired types do, though. oh well, to each his own)
Meanwhile, the two coders I know who I used to secretly idolize because they actually WERE cs majors, got tired of coding and are now both getting MBA's (which seems like a boring thing to do, were I to do it). Their complaint was that coders get shit on at corporate jobs, and they were just tired of the whole design/code/test/deploy/debug/support cycle.
Screw 'em, they also liked football
I know what they're talking about in the former case of feeling taken-advantage of (not to mention that I am TIRED, TIRED of working with Microsoft-only technology, from an ideological/stuck-in-the-Microsoft-bubble standpoint!), and my solution to that is probably going to happen soon. Take my savings, quit my corporate job (which has done nothing for my technical development lately) and code freelance for a while. Wish me luck (I'm a little nervous), I have a few ideas and I'll be starting by diving headfirst into Ruby/Rails and seeing where that takes me
Perhaps I'll never be a millionaire (or perhaps I will), but building stuff (the craft of it, and the type of creativity required at times) that someone else thinks is cool really floats my boat.
Who cares what programming "is", as long as people stop frickin' stereotyping us. The only thing that all programmers have in common, is that they program. The rest of it, like the difficulty in dating the opposite sex, is just positive correlation
Mozart considered composition a craft. So did Bach, who regularly turned out a new cantata most weeks for his job at the Thomaskirche in Leipzig. The notion that artists have special access to some emotional content not available to ordinary craftsmen is a nineteenth-century idea. But everyone agrees that both Mozart and Bach had access to some pretty unusual stuff- we hear it and respond to it.
The content of programming is perhaps too instrumental (i.e., interesting for its usefulness more than its inherent qualities) to rise to the level of art. But this may be changing with the state-of-the-art games. In a hundred years, people may look back at today's game developers as the inventors of a new art form!
With 100% pure functionality (and pure ugly) at one end ... ... ...
functionality mixed with aesthetics in the middle
And at the other end, 100% pure aesthetics with no functionality (apart for the materials used).
Of course, why limit it to one dimension? How about 2 dimensions (a square). In one corner, a bad woodworker who is also a bad artist will make a crappy, ugly chair.
In the opposite corner, you have a very skilled woodworker who is also a very good artist who makes a very beautiful, yet very functional chair.
In the other corners are a bad-woodworker but good good-artist and a good-woodworker but bad-artist.
The Art of Computer Programming, Vols 1-3
I think the central problem is the misguided assumption that art, craft and science are mutually exclusive, as are beauty and utility. As some have already stated, there can be beauty in functional things: the Lamboghini Countach, the SR-71 Blackbird, the Golden Gate Bridge. Leonardo da Vinci is considered among the greatest artists, and yet he was a scientist, inventor and engineer. There is such a thing as beautiful code, programs which can be considered art. Not everybody can appreciate them, just as not everybody appreciates the beauty of a fugue, a poem, a painting or an essay. Most programmers write code to simply fulfill specifications, but the artists among us fulfill those specifications with beautiful code. Therein lies our art.
Excuse me, wtf r u doin?
Another example is performance art. None of it has practical value, it's not craft, nor is most of it aesthetically pleasing to the eyes.
I won't speak of all performance arts, just Dance, but it can have a practical value. For both the dancer and for the audience. Years ago I was an amateur dancer, having taken some dance classes in college, danced in different dances, and worked on other dance performances. Several years ago I had a bad accident and the first thing I thought of for physical therapy was dance, so I talked with a friend who taught dance including the ones I took and she recommended I take ballet saying it would help with my coordination and endurance. As it was I didn't have the endurance to take the class. The last tyme I went to class, as usual, I stayed there after ballet and watched the Jazz class and I realized that while I could recall the steps for Jazz, I couldn't recall them for ballet, there would of been no way I would of had the energy for jazz. As for watching, like myself I've known others who feel so much better and/or motivated after watching a dance performance.
And no I wasn't an art or dance major, my major was computer engineering.
FalconShould there be a Law?
Geeks without dates.
Programming of any sort of value is most certainly an artform
Well, at least, that is what i think of it as. Anyone can write code. Writing code well and being innovative is an art.
this is also an art
http://gprime.net/images/sidewalkchalkguy/
Coolest thing i have ever seen.
...Now if only he could somehow hook it up to google maps..