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.
Nope
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
What a load of pseudo-intellectual drivel. Coders do what they must to get the job done. Some because it's a job and some because they love it.
It's like a janitor contemplating whether a clean hall is art. Why not spend your time examining better methods of developing portable/maintainable code or something. I mean really, let's say you get your answer. "It is art" or "It isn't art", what has been accomplished other than the ability to puff up about what you do?
This is no different than a bunch of tools contemplating what makes them l337.
BTW I'm not arguing for or against whether it is art. I strike only on the sillyness of the question.
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/
Anyone see dental groups calling their business 'dental arts'? I am not sure I want someone doing a picasso with my teeth.
Please sign petition to restore sanity to our banking system!!!
http://financialpetition.org/
In days gone bye, even science was considered an art form, but nowadays it's all science and the only artists left seem to be the people who once were musicians.
If Britney Spears can be referred to as an artist then gees, there's enough computer porn out there for programming to qualify as an art.
thank God the internet isn't a human right.
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
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.
Not necessarily from any asthetic virtue, but it takes a skill and mindset beyond following a simple set of rules. Whether or not it has any higher value beyond that, is for philosphy majors to decide... and since they don't take those kind of classes, we'll never know for sure.
I am not in anyway affiliated with Max Cannon
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?
Computer science is something completely different from the norm. It's almost surreal. I think it should be classified in a realm all by itself. You can make some incredibly dense scientific code, and yet also at the same time, the code can be quite poetic -- artistic even.
Not to mention the possibilities that computing offers us - I don't think of it merely as science nor merely as an art - to me it's both.
in girum imus nocte et consumimur igni
Don't believe in art, believe in hard work =)
Music is the sedative for mind...
Does no one remember the notorious k5 story? Contains such gems as "Do you consider your copy of Windows 2000 to be art?" and "The difference between my examples of paint-by-number and coding, is that the individuals assembling models or paint-by-numbers do not do this as a livelihood. They are under no delusions about their occupation or hobbies."
As a life long ditch digger I would tend to agree. Clearly I use a great deal of creativity in my work. I change the way I hold my shovel, the attack, the lift, the throw, and the recovery based on conditions. This does not take into account my stance and body position.
AC
(because I trolled my old acct into oblivion)
Similarly, designing a complex system looks to an outsider like merely writing one line of code after another. It is only when you step back and see how the lines of code merge into a subroutine, and subroutines coalesce into cogent modules, and these modules get connected together to become a useful system that you can see the art. One square centimeter of yellow paint is not art, that square in the middle of one piece in a series of paintings on a theme is.
There are a lot more housepainters than artists. There are a lot more coders than there are hackers.
How does the Slashdot Effect happen given that no slashdotters ever RTFA?
Mathematics (physics):
K = mc^2 ( [1 / sqrt(1 - v^2/c^2)] - 1 )
Programming:
assume 'i' is a c-array
assume 'a' is a positive integer
i[a] == *(i+ a) == *(a + i) == a[i]
Eloquence.
Why do you thing it's called a language?
This slashdot-related signature is a stub. You can help kihjin by expanding it.
Should have tried channeling.
Art is about the intention, if you create code for the purpose of expressing yourself and creating a thing of beauty, then it is art. If you write code for calculating insurance rates becasue it is your job, this is not art. Asking is programming art is like asking "is painting art?", an art school student will tell you that painting is art, a house painter will tell you it is not.
Why diminish programming by comparing it to art? Art is easy. Art is boring. Anyone can make art. Artists are a dime a dozen.
Support the First Amendment. Read at -1
This has already been decided in court, you jerkoffs. STFU about it already!
http://www.thinkgeek.com/tshirts/coder/321a/
Now that code, is art. Most code is just craft, but to make a working perl program, that is an ascii-art of a camel, that is True Art..
https://www.gnu.org/philosophy/free-sw.html
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.
Then anything that someone creates can be considered art, like engineering drawings, for example.
If it doesn't make someone angry, then it's not art. If you write programs that regularly fill some people w/ rage (and others w/ delight), then you're an artist.
If you accept my definition of art, then DVD Jon is an artist. Bram whatshisface is an artist.
[o]_O
from wikipedia:
"Mathematical rigour is often cited as a kind of gold standard for mathematical proof. It has a history, being traced back to Greek mathematics, where it is said to have been invented. Complete rigour, it is often said, became available in mathematics at the start of the twentieth century. This relies on the axiomatic method, and the subsequent development of pure mathematics under the axiomatic umbrella. With the aid of computers, it is possible to check proofs mechanically; throwing the possible flaws back onto machine errors that are considered unlikely events. Indeed, mathematical rigour may be defined as amenability to algorithmic checking of correctness. Formal rigour is the introduction of high degrees of completeness by means of a formal language. Most mathematical arguments are presented as prototypes of formally rigorous proofs, on the grounds that too much formality may in fact obscure what is being said."
Robustness
from wikipedia:
"In computing terms, robustness is reliability or being available seven days a week, twenty-four hours a day. Robustness is an important characterists of the internet because network design is a key factor in the availability of data."
This also can translate into portability.
Elegance
from wikipedia:
"The proof of a mathematical theorem is considered elegant if it is surprisingly simple yet effective and constructive; similarly, a computer program or algorithm is elegant if it uses a small amount of intuitive code to great effect."
Euclidean Geometry was long thought to demonstrate all three qualities. If one wants to attribute art to elegance then programming can be said to be art.
"Academicians are more likely to share each other's toothbrush than each other's nomenclature."
Cohen
The line between Art and Science is very blurred. Science can be and Art and Art a Science. Programming can be either, or both, or neither. Given this, please, disclose your assumptions and pose the question again.
The REAL jabber has the user id: 13196
What you do today will cost you a day of your life
Art is decided
by only one person. It's
who makes, or wants, art.
I'm inclined to think that programming- or at least the vast majority of programming- is craft rather than art. The essential difference is that art is itended as a form of communication with others, while craft is primarily functional. In programming, the functional necessity of the job at hand tends to overwhelm the expression of the programmer.
There's no point in questioning authority if you aren't going to listen to the answers.
I have seen VERY technically capable educated software engineers that can't program to save their life.
People that can do the equivalent of draw stick figures do a lot of gruntwork programming, then theres the true artists which do high end graphical programming, and write things like databases etc.
B.) Like artists there appear to be quite a number of programmers that insist on making true crap and calling it "programing", while only a few make truly good programs.
C.) and like art many people seem to actively pursue the work of some of these programmers and place high values on their works. However, they do so with little regard as to weather the works belong to the "crap" or the "skilled" categories.
Unless if said programming is done with a help of a Brillo(TM) box.
Keep in mind that for every Monet, there's half a dozen Thomas Kincaides.
If brevity is the soul of wit, then how does one explain Twitter?
Bill Budge is not a well-remembered name, because his heyday was the Apple ][ era, and his masterwork was Pinball Construction Set (8-bit object oriented GUI).
But he did a couple of 6502 tutorials in an Apple magazine just before it went bankrupt (Softalk?), and the way he defined variables struck me as exactly like poetry-- he seemed to have meditated on the deep meaning long enough that he knew how to create exactly the right variables, and name them the right names.
If by "programming" you mean getting a computer to do what you want it to, then no, programming is simple "code monkey" work.
If "programming" includes designing what it is exactly that you want the computer to do in the first place (a.k.a. "design"), then programming becomes
House paint is when properly applied can be pleasing to the eye, but it's primary purpose is to extend the life of the material it covers. No one would consider it an art. You can make the comparison that code is like the paint in a portrait, but in reality all code is functional. Well written code is just a bonus for others that have to look at it later. Much like a well painted home.
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
Computer Science *is* a branch of mathematics. If you skip the mathematics, you're not a computer *scientist* -- you're just a code monkey.
Is cooking an art or a science? Is playing music an art or a science?
Art is not the inverse of science. They are two conceptual planes that intersect at several points. I'm getting very tired of the lazy either/or mentality that permeates thinking these days. It is very simplistic and very limiting.
Hacking is an art. When some coder develops something in visual basic because he has been told too do so by his boss, and he gives a given ammount of work hours to finish it as fast as he can, it's usually not art. But when J.R. Hacker writes something in C & Asm just to see if he can actually do it, it's art, because of the motivations for developing the software, the hacker will try to make it as best as possible, and the reason to write many parts of the software will be to make it beatyful and elegant, not only in it's code, but while it runs, The same happends with any more conventional form of art, for example: Some teapot produced at a factory, where they will try to produce as many as possible, all equal, that ain't art, but if someone puts all it's effort into making a hand-make teapot, then it will be art.
WTF am I doing replying to an AC at 5 A.M on a Friday night?
I had a (physics) professor once who was trying to give me advice when I was, in college, moving from physics to music, who told me that he'd faced a similar choice and the only difference he saw was that "he didn't have to play scales every day".
I think that those of us who toil in the corporate software fields also know that there's a wide gulf between those who are interested in their craft for its own sake (an interest which I would argue leads to excercising the craft as an art) and those who, basically, are menatlly working in a sauasage factory and couldn't give a crap. There are valid arguments to be made as to whether or not the art of it is for the sake of the client(s) or the programmer's vanity. In the end I think if I'm going to spend 8 hours a day doing something I'd much prefer to be creating something worth appreciating.
Is it an art? Only if you want it to be.
If by "programming" you mean getting a computer to do what you want it to, then no, programming is simple "code monkey" work.
If "programming" includes designing what it is exactly that you want the computer to do in the first place (a.k.a. "design"), then programming becomes a form of art. It is "problem solving" with such a large number of possible solutions that it takes a certain amount of inspiration to come to the best answer.
I don't want to overstate the point--artistry is found in all forms of programming--but I think it's telling that the advocates of higher-level languages in the interview are more inclined to see programming as art.
The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
They enrich our lives in that computer programs can do things that people may find either useful or entertaining.
Computer programming is art. No question.
File under 'M' for 'Manic ranting'
Then the dot-com thing happened, and nobody differentiates someone with a mathematics or engineering degree and some kid with a "certification". The result? Lousy software for everyone!
That's why I left the field.
Best Buy can have you arrested
Computer science is something just like everything else. Seriously, get over yourself, you aren't that special. (And our generation isn't special for knowing about computers. Teenagers thought they were smarter than their parents/teachers long before they had computers.)
Now, computer science is an immature field, and has a long way to go. That means it has some challenges to go through as it develops. It also has a different front-end than other fields, sure. There are plenty of differences, but the basic challenges are the same in any design field, and writing programs is a design field. You have some requirements, some tools, some limitations, and you have to find the best way to make them all work together. You have a boss that doesn't understand exactly what you are doing. You have a customer that doesn't know what they want. You are trying to do something that has never been done before, but is based on something that has. Welcome to real life in most professions.
Other than that, I agree with you. A good design is a work of art, at least to those skilled enough to see it. Architects seek to make a building practical but beautiful. A mechanical clock can be amazing to watch. A well-written program is like poetry to read.
I think the first goal of any designer is to get the basics working so that they are in a position to work on the beauty of their design. Too often we are put in an awkward position and it's all we can do to make something that works, screw looking good.
Don't you mean, marketing?
I tend to think anything that is creatively inspired is a form of art. This ranges from the sciences and the non-sciences. Beauty is derived from creative inspiration. Some us see beauty in equations and others see it in paintings. The idea that you can create an absolute measure which determines art goes against what being creative is.
The best education consists in immunizing people against systematic attempts at education. - Paul Feyerabend
Also don't forget Richard Gabriel's eloquent call for offering the degree of Master of Fine Arts in Software Design:
http://dreamsongs.net/MFASoftware.html
Every programmer thinks that they are an artist. They want the freedoms of an artist.
But they wish that the other programmers they work with would behave like Engineers instead of artists for once.
Seems to me like the question art or science is handled nicely by the golden rule: "code unto others as you would have them code unto you"
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
Until we obliterate, culturally speaking, the shrines of art (today the gallery, yesteryear the Church) nothing outside of them can be said to be art. They can only be said to be artistic. Over the years I've choked down enough "art" to realize I don't like the taste of self-awarding, self-revolving, self-aggrandizing stuff. Going to a gallery to learn about art these days is like watching the Emmy Awards to learn what TV is all about. Meh.
So as it relates to "non-art" things in life, let's be glad that programming is programming and not art; that a 22 minute sitcom is a 22 minute sitcom and not art; etc. Still, being artistic in these pursuits can set them apart from the mundane.
Just don't make anything "art" any more. Make things artistic. People will appreciate it more.
To me, if a piece of work creates a desired emotional response in the part of some of the viewers- then it is art.
So I do not see code as art. I like stallman's view of it as a craft.
However, I think people are saying it in the sense of "more art than science" which means that you can do it in a nifty way which is elegant, smaller, tighter- or in a "machine" way which gets the job done but is ugly, repetative, less efficient but maybe easier to maintain or generate.
In this sense, coding will always have the art aspect. The question is- are people willing to pay for artful code. Remember the assem screen saver a couple years ago that took 93k (yes- K). it was art.
She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
"'What is the nature of programming?' Is it art or science? Does creativity or engineering lead the design and implementation of a program? "
Yes.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
I would say programming is a floor wax that sometimes doubles as a dessert topping.
When answering that question, one has to apply it to already-defined modes of Art.
For instance, does a nice brushstroke in a painting count as Art? No. It may be considered masterful, but it is not in itself Art. In the same way, a clever line of code is not itself Art.
So, then Art is more than the sum of its parts. While someone's code may be sublime in its composition, but it is only when you take the sum of that code (and therefore, also the execution of that code) can you determine the worth of the author's craft (his or her code).
So, I would posit that a running program may be Art (and within the evaluation of that program, the elegance of the code would certainly be noted), evaluating the code as separate from its function and place in our reality is not Art, but instead is simply a craft. Because Art is only Art when it has a relevance to humanity (or whatever species created it).
[dictionary.com]
art
1. Human effort to imitate, supplement, alter, or counteract the work of nature.
2. a) The conscious production or arrangement of sounds, colors, forms, movements, or other elements in a manner that affects the sense of beauty, specifically the production of the beautiful in a graphic or plastic medium.
b)The study of these activities.
c)The product of these activities; human works of beauty considered as a group.
3. High quality of conception or execution, as found in works of beauty; aesthetic value.
4. A field or category of art, such as music, ballet, or literature.
5. A nonscientific branch of learning; one of the liberal arts.
6. a)A system of principles and methods employed in the performance of a set of activities: the art of building.
b)A trade or craft that applies such a system of principles and methods: the art of the lexicographer.
7. a) Skill that is attained by study, practice, or observation: the art of the baker; the blacksmith's art.
b) Skill arising from the exercise of intuitive faculties: "Self-criticism is an art not many are qualified to practice" (Joyce Carol Oates).
8. a)arts Artful devices, stratagems, and tricks
b)Artful contrivance; cunning.
9. Printing. Illustrative material.
[/dictionary.com]
Under articles 6&7 you could make an argument that computer programming is 'an art' but this isn't what most people think of when they think of 'art'. Most people think of art as something like:
"A skillful delivery of a creative message through a medium"
Now using that definition you could say that computer programming could be used to create art (as in an interactive art display, fractal art, or Videogames) but for the most part the programming itself isn't the art. An odd way to think about this is to consider a welder; a welder isn't an artist but an artist could be a welder. So you could say that A computer programmer isn't an artist but an artist could be a computer programmer
Free your mind from duality and the dilemma magically disappears!
... but then there will be no article and no lots of feel good fanfare ... hmmmmmmmm
Yam, yam, uga booga, yam, yam, yade, yade, uga booga, yam, yam, yade, yade
I believe that computer programming is like brick-and-mortar architecture.
The vast majority of buildings are just buildings. But every once in a while, a building is a work of art.
One of the things I like about architecture (and computer programming) is that the buildings always serve a purpose. They don't arise out of the ether to express a purely abstract thought, but arise from the need to create something useful.
But don't delude yourself by thinking that you're an artist just because you're a computer programmer. The vast majority of buildings are cinder-block, minimum-cost affairs, and the same is true for code.
Donald Knuth named his books which study algorithms in great detail The Art of Computer Programming. So even though I usually want to sway to the other side I would say programming is an art!
Deciding whether a program is art should be determined by the user, not the programmer. From the perspective of the programmer, of course programming is an art, in the sense of a craft. But just because a craft requires creativity does not make the products of that craft works of art. Otherwise most everything would be art (the word "art" loses its meaning). "Art" is a verdict not a process. A number of video games have had an "artistic effect" on me. That is, at some level they changed how i see the real world.
Ludwig Wittgenstein
I liken programming too being a musician. Both are very hard in the beggining but with a little practice one can learn to play simple songs and even impress friends in music. Same in programming. Dig a little deeper (ok a lot deeper) into the world of music and one is aquainted with the word "improvisation". It is at this point that a musician transforms into an artist. So it is with the coder. After a few years a sort of intuitivness takes over and the coder can easily see how to get from point A to point B. The real difference is that code is used in real world settings. It is ok for the improving jazz musician to make a mistake. However, the code for a rocket launch must work right the first time. To that end you need to adhere to strong engineering principles ( for real world projects). But I almost always prefer to code up a quick solution to test my ideas as opposed to drawng a bunch of UML. Not to say that I don't do a significant amount of pen and paper design for large projects. But I usually like to "improvise" my way through the code...heck I just plain enjoy the creative process. Sometimes these first drafts are excellent and sometimes a rm *.cpp comes in handy. So I guess my opinion is that you can program with out being an artist just as a musician can play a song without being an artist...but to be really good at either one you have to have a certain amount of art.
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!
of an engineering student whose task was to interview existing engineers about the nature of their work. One of the questions he asked me (and I don't know whether it was his idea or the instructor's) was whether there was really any creativity involved in a process that involved such adherence to rules that were defined before the task started (i.e. the rules of physics determine any outcome that might be postulated).
My reply referred to haiku, where the number of syllables per line and the number of lines were very very rigidly defined, but, at last count (at that time), there were about 2 billion haikus recorded.
Of course there is creativity involved and, of course, the answers you will get for any specific problem involve the creator of such an answer! Anything else smacks of the replacability of any individual and the "Harvard Business School" approach, which states that nobody is unique and that everyone is replacable (a pipe dream of all managers, people who refuse to believe in the uniqueness of anyone except their irreplacable selves)!
Code is poetry, the poetry of logic and math. Much like poetry, good code is compact, eloquent, refined, and powerful.
When people say art, they think of things they see: painting, sculpture, architecture, etc. But words can be just as artistically expressive. It may be strange to think that code can evoke an emotion response, but there's one emotion it certainly can:
Wonderment.
Haven't you ever just gone "Wow" when reading or creating a rather brilliant pice of programming, either at the code itself or at the underlining design, the simplicity, elegance, and clockwork perfection of it. I have, and it's why I do this with my life.
(and yes boys and girl, I'm totally sober as I'm writing this. If I was stoned, I'd write something alot more coherent)
Art is anything people make. Which really means any change people make in any medium. Craft is a kind of art: more functional than representational. Good art is just art that I like.
--
make install -not war
To the real decision makers, they are waiting for the day when they can hop in their truks, pick up a few day programmers by the side of the road, wisk them to the nearest Starbuck, hand out a few laptops, and have the project done in a day or two. Ah who am I kidding here? Even then we still can't beat the folks overseas. I should have been a gardener, but I am allergic to grass.
I think there is a point beyond which something becomes too arcane and specialized to be classified as art. To anyone with eyes and a right brain, a work of visual art or music is appreciable almost immediately. A novel may take a few weeks or months to absorb for any reasonably educated person. But a computer program is only accessible to the few who happen to understand that particular language, and the particular problems of the implementation. In the same way, I don't think one could call a long, complicated mathematical proof "art".
What perhaps could be called art is the underlying core of ideas. In the case of programming, these would be the algorithms involved, which can be written in pseudocode, and proved to be optimal and perfect.
In the mathematical case, underneath the mass of symbols are insights (eureka moments) simple enough to be conveyed in a popular book. For example, this popular book explains the beautiful ideas in the proof of the four color theorem (all of the detailed steps are completely understandable with almost no symbols). The actual proof was done mostly on a computer and is practically unreadable by humans.
When you listen to a mathematician talk about their work, you get a sense of the artistry behind the technology.
The world is everything that is the case
Several years later, I went back to college, this time studying graphic design and illustration, with a foundation of ye olde fine arts thrown in. I was only mildly surprised to have an instructor start talking about the Fibonacci numbers and the Golden Section. It learned that there are even objective and verifiable standards for what humans usually perceive as "balanced", "unsettling", and even "beautiful". This doesn't mean that art can be verified quantifiably, but it does mean it isn't 100% subjective, either. (Rob Liefeld is a bad artist. Full stop.)
"What is art?" is a subject that will get even art students into heated debate with each other. But if you include architecture and poetry (and I think most people would), then programming has to be at least within the grey fringe.
Personally, I don't care much for attempts to distinguish between (for example) fine art, commercial art, design, craft, etc. Part of that's because I took classes that arguably included each of these, and what I was doing in one or another them wasn't fundamentally different. My art school has majors in Furniture Design, Sculpture, Illustration, Photography, Painting, Interior Design, Graphic Design, etc. and hardly anyone around here tries to separate them into categories of craft/art/design etc.
There's art in science; there's science in art. That's certainly the way Leondardo approached his life's work, and it's how I try to approach mine.
http://alternatives.rzero.com/
That being said, there is many programmers out there whose vision, creativity, and inspiration make them the masters of art of programming. Most of the rest of us (including myself) are just producing boring walmart prints or perhaps hallmark greeting cards of programming art.
That's my take, anyhow.
More Caffeine. NOW
..."who benefits from this?" Who's asking for programming to be considered an art? Certainly not the ordinary people in the street. Certainly not the artists (I don't think). It's programmers themselves, at least some programmers. And why are they asking? There must be some perceived benefit. Are they looking for arts funding? Or wanting their work displayed at exhibitions? Or looking for a way to impress the opposite sex with their artistic talent? Until we know what the ulterior motive is, it's not clear we can even begin to answer the question. There's no point just assigning 'programming' as a subset of 'art' without actually having a use for that assignment.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
I define art as a anything that is a form of self expression. Many years ago, as part of another discussion on the art of programming, I presented the following artpiece:
int main() {int *i;
printf("Hello %d World\n", i);
}
I have a special affinity for metaphor and work that hold multiple layers of meaning and interpretation. This was my interpretation of the program.
There is always this wiki, which is all about art created through programming (audio, visual, interactive, conceptual, and otherwise). It currently features over 50 artists -- I'm surprised no member of the Slashdot crowd has mentioned it already actually.
elegent code structures destroyed in the Core Wars, slashdotted into non-existence, their crystalline object orientated shells collapsing from the fires of method calls overloaded to the point of breaking.
And I've also seen rusting hulks of code, slapped together with variable names like A1, A2, A3, A4 - used for text, numeric, array, and object types at the same time.
Programming is an Art and a Science. Darned few artists out there at the best of times, and not that many scientists either, sadly.
Will in Seattle
Of course it's Art, because it's copyrightable. You may remember that a judge made the decision on this already, allowing code to be copyrighted. As I remember, the decision was made because programmers could recognize each other's coding style (even if the algorithm being implemented was the same). Right?
Art is any purposeful composition of elements that stimulate the senses and as a byproduct of said stimulation, makes one feel an emotion. This of course comes with the caveat that confusion is NOT an emotion. Really, art has nothing to do with how it is composed but what its effect is. Given that reading the code in algorithm books makes me experience feelings of admiration for the cleverness of algorithm designers, I guess code is art.
Uselessness is not a requirement for Art.
Vermifax
Logout
Rubbish! Where is the science in basic items such as bits through to address space? That's just engineering? Science is discovering something new, creating experiments, attempting to make predictions, repeat from experiments. In 25 years programming and system design I have never come across anything remotely science like in the field. It's all trivial engineering.
I'm rather surprised not to see many (any?) posts about demo coding for the moment.
IMHO, demo coding *used to be* some kind of art. Back in the day, demo effects were mostly based on code because of terrible hardware limitations. You had to create some new ways to display such or such effect as fast as possible (preferably in one VBL) by pushing the limits of the processor and the video chip. That was done most of the time in 100% assembly language, and often by figuring out special tricks and undocumented features. You had to innovate. You had to be very imaginative. I think that's what art is all about. Maybe not a fine art, but still some art.
Today, it's quite easy to deal with the hardware and you'll probably just have to carefully read the OpenGL or DirectX API documentation to implement your effects. (I realize it's not *that* easy, but you don't have to be so imaginative anymore.) So, I'm not saying that demos are not art anymore, but this "art" is now much more a matter of graphics, 3D objects and original ideas of effects. Not anymore a matter of code, because the implementation is much straightforward.
The problem with Slashdot memes is that YOU INSENSITIVE CLOD!
The constraints imposed for software engineering often do not take on the same level of physicality as most engineering disciplines; there is a wide-open quality to software in terms of the approach. In that sense it blurs into craft. I would agree that CS can be an Applied Science, but falsifiability is not a component of theorization in CS like Empirical Science. There is really very little theory per se beyond finite mathematics and automata and complexity, and all of that is unrelated to the implementation methods.
I guess the parent is a poster child for this article.
And as a programmer (the black sheep of the family), I strongly believe that programming is an art form. The article talks about finding examples of software that are "art"... but I think every instance of programming is art. I recently got into a fairly in-depth discussion about this topic: Programming: Technical or Artistic. I think one very interesting point is that both software and "normal" art have an audience. The programmer creates a work of art in the medium of a programming language and a physical computer system. The audience, the customer/user of the created software system, may appreciate the software or not: there is no objective measure to say that software is "correct". Software, like art, does what it does, and the audience determines its value, beauty, utility, and esthetics.
Helping with organizational effectiveness is our job.
I took a software design class at the university back when I was in school. This class was made up of many computer science majors, with a few electrical engineering and other engineering majors.
On the first day of class, the professor walked in and asked us:
"Is the creation of software an act of engineering, or is it art?"
My friend quickly raised his hand. After the professor called on him, he stated simply:
"Engineers can't program, so it must be art."
The discussion that followed was rather... heated. Whether or not my friend's statement is true is left as an exercise for the reader.
If a tree fell on a florist, and nobody was around to hear it, would he make a noise?
TFA quotes Paul Graham as saying:
"For example, I was taught in college that one ought to figure out a program completely on paper before even going near a computer. I found that I did not program this way. I found that I liked to program sitting in front of a computer, not a piece of paper. Worse still, instead of patiently writing out a complete program and assuring myself it was correct, I tended to just spew out code that was hopelessly broken, and gradually beat it into shape. Debugging, I was taught, was a kind of final pass where you caught typos and oversights. The way I worked, it seemed like programming consisted of debugging."
This is how I program! Maybe I'm not as crappy a programmer as I originally thought!
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."
Which is exactly why ART IS NOT LEFT TO PUBLIC CONSENSUS. What people "usually understand" is not part of much conceptual art - since the substrate of Conceptual Art is Understanding itself, any notion of "usual understanding" is not part of the game. the point is Unusual Understanding. - HELLO!
Secondly, there are PLENTY of examples of people who use programming as art, and more broadly, if one includes computability in general as an artmaking practice, there are even greater ranges, where programming becomes an intrinsic part of the artwork itself. To that I would point to the work being done in Max/MSP and Jitter, as well as HTML, Flash and Action Scripting, and other internet technologies.
From my perspective, "programming as art" is a total non-issue and has been a non-issue since John Cage worked with people like Lejaren Hiller developing randomisation techniques in music and other media almost 40 years ago.
RS
Shoes for Industry. Shoes for the Dead.
Programming is like cooking - at its best, it's the combination of art *and* science. It's one part Emeril Lagasse and one part Alton Brown.
Some code is pretty, some code is ugly. What more can one say?
The art of computer programming is what I often consider elegance. Here, you craft efficiency, simplicity and understandability into a single entity. This is how a lot of programs start out. Unfortunately, sometimes it needs to be updated and the programmer does a q&d fix, resulting in the decline of the program.
...have clear limitations in computing.
One could argue we have fewer limitations today, on the other hand the possible tasks are that much greater. To me, this factors out the nature of the platform. Programming is programming, but is it art?
I say it is because the limitations create the illusion of beauty and that, to me, is the essence of art.
Going back to the 8bitters for a moment:
On those machines, many limitations were present, yet we saw people do amazing things on them despite the obstacles. Of all the things I learned to appreciate, well crafted machine-language programs that used the hardware in unique ways to achieve a goal moved me most. --They still do.
Was just reading something about Jef Minter programming the old Atari Jaguar. He was told off for using the chips backwards. The designers intent was flawed, crippling the machine. Jef "painted" his game on the canvas he had and the result was as beautiful as it was technically wrong. I still get that game out and play, totally immersed, to get my "fix" from time to time as we all sometimes do.
Isn't that an awful lot like visiting a gallery to re-experience a painting or scupture that moves you?
Finally, it must be said that programming is simply a means of expression. How one chooses to express themselves determines the artistic value of the expression, not the medium. The author of this piece really does not address that well, IMHO.
Blogging because I can...
Does the label "art" really matter?
How would labeling programming art improve programming?
Whenever I hear the question "Is _____ art?" I want to cringe. These are labels used to catagorize things or actions, they don't actually change what the thing or action is.
Shakespeare summed it up the best:
Just write good software and forget about labels.
... it is abstraction and therefor possible to make it out to be whatever you want it to be.
You can take the simple task of tying your shoe and make it out to be so complicated in instruction that even a person with multipule degrees woul;d have trouble following.
You can also make it out to be so simple a child can learn to do it.
And so it is with programming, and many people including those mentioned should really know this.
As it has been a job to feed oneself off their programming, it is not uncommon for tasks that can be done in simple ways, to be over complicated in the way it is done in order to fend off the buyer from doing it themselves.
Microsoft is really good at complexication of what is otherwise simple. As a result their software suffers from the manifestation of the user frustration function. For instance their new and improved disk partitioning software is overcomplexicated more than FOSS compariable in functionality disk partitioning software.
MS (marketing software) uses this as one of its practices of making people need them.
So is software an art, a craft or an algorythim?
Its a reflection of the thinking process of the programmer, is what it is.
Monkeys need food and water and energy and sex.
Humans need food and water and energy and sex and art.
I'd say if you need programming, IE, it is your passion, it is an art to you. For me, it's just something that in the end makes life a whole lot easier.
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.
Yeah, there's a certain beauty to a great piece of code, a well-engineered piece of software, blah blah blah. But although it's beautiful in its way, I don't try to make it art any more.
Instead, I finally realized that trying to force my job to be art was a desperate attempt to fill a vacant spot in my life... I wasn't getting enough art in my intellectual diet. So I started pursuing it with real art, instead of pseudo-engineering-art. I started studying guitar (which gave me a great opportunity to really dig into music theory... nerds will be nerds). I started reading poetry. I started hitting the art museum.
I still appreciate great code, don't get me wrong. But I don't try to fit the square peg in the round hole any more, and I haven't looked back.
What they are referring to aren't in fact the "traditional" arts, but the art of engineering. The art to build a useful structure of really small parts, still make it beatiful, and having an attractive design. What architects do when they build bridges or buildings, what mechanical engineers do when they build ingenous machinery, or what design engineer are doing when drawing that new car. It just couldn't be said that it's merely engineering - because it isn't. And it isn't just arts. Anyone knowing anything about algorithms knows that.
I have a really elegant proof for Fermat's last theorem. If this sig was only a bit longer...
why bother attempting to link art to anything with evidence when it can be done with everything? in today's world, art is such an exapanding terms that a simple presentation can be part of it (one artist climbed up a ladder with razers on every step until he bled to prove some point about humanity's hunger to reach the top at any risk) - and if you consider the definition of 'a creation with a use and beauty' - the creation of sanitary conditions can be an art too (janitors are artists that clean in a free non-systematic way: the process is useful and makes the setting much more appealing). Some artists become famous not for their art directly, but for what their art stands for - hence if you can bring up a good explanation (of what a piece of art represents) that piece of art can be practically anythign from any field.
writing a good user interface is :P
The only reason it is even a debate, i.e., "Is programming an art, craft, or science?", is because computer programmers are pretentious little shits who'll promote and believe anything that boosts their pathetic little egos. Programming is the same as plumbing, all things considered.
The US Supreme Court made a definitive ruling on the definition of art in the 1929 case Brancusi vs. US Treasury Dept.
Constantin Brancusi imported his famous metal sculpture "Bird in Flight" and was assessed a 40% tariff by Customs, categorizing it as "Machined metal implements, Kitchen Utensils, and Hospital Supplies" rather than the 0% tariff applied to art objects. Brancusi sued the Treasury Department to recover the tariff.
Eventually the Supreme Court agreed with Brancusi that the object was art rather than a mere machined metal object. The core definition of an art object is: something made with the express purpose of being an art object, made by someone recognized as an artist by other artists.
Well, that is a fairly circular definition, in part, but it does clearly lay out the rules. Artists (those people society generally recognizes as artists) get to define art. The corollary: programmers do not get to define their work as art.
If you use the word "programming" in it's literal sense, it would imply any instructed task created by a human to be recreated later through automated means.
This definition of "programming" could include creations where the "programmer" never actually sees code, but merely interacts with a piece of software that records the session... such as a 3D animator or someone creating an action set in Photoshop.
These acts in and of themselves may not be considered "art", but the creations that result from these acts certainly are.
8==8 Bones 8==8
Is anyone getting tired of this topic getting posted to Slashdot? It seems there's an Ask Slashdot asking if coding is art every month.
When I program it is like a flirt with beauty itself. This is the art. Diving into the structure and recognizing that the structure is a cosmic law makes programming magic and divine. But try to tell that someone who dwells in the depths of materialism. They cannot see, they will not hear and the never know.
regards,
Gerald Scheidl
The Art of Computer Programming, Vols 1-3
If you've studied engines in cars, you could admire the engineering of it, how things fit and work in harmony.
Sometimes i've designed pieces of software and i like how they were designed so much that I call them "masterpieces of art".
So yes, programming could be called art.
people have called elephant shit on a canvas art, so why not programming.
i think if creativity is involved (code), and there's a visible medium(final app generated), it is considered art.
Writes Fortran in a myriad of languages.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
Why can't something be both science and art?
I'd suggest that the word 'craft' is the best chosen, because when I see really good code, it's like looking at really good craftmanship.
I'm sure this is considered art, while it's still 'nothing but code': http://www.scene.org/awards.php
...programming must be art:
"Art is making something out of nothing and selling it".
On second thought, this kinda leaves OSS out in the cold. Hm.
Computer science is a discipline to develop advanced programmers. Therefore programming is at best a science.
Any other claim leads to self-aggrandizement.
What is Art? One of those perennial philosphical questions... Less computer science, more philosophy... (hasn't anyone here done a liberal arts degree?) The C language and lisp are constructs of such beauty they ellicit an emotional response when you finally "get it"... A computer language can definately be art!
The difference is that a painting is not as easily changed as a computer program. So the program may evolve toward perfection (refactoring) over time, while the painting only has one shot at it. But then, when you consider it, they are all perfect...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
You might find 'creative' ways of solving the problem, but that would better be described as finding more elegant solutions, or more efficient solutions ... just not artistic solutions.
... a surgeon. They might find a really elegant way of stitching up an open wound ... is that artistic? I don't think you could say that it is, not from a 'lay persons' definition.
Perhaps look at another profession
Our egos want programming to be more than it is. We are not just programmers, using discrete words and grammar to implement a measurably correct algorithm, rather we are artists painting an empty RAM with colorful and wonderful patterns. Nah... we're engineers. The algorithmic core of a program either works or it doesn't, given a set of input. Art has no such measurable quality, as its value is purely in the eye of the beholder. Any truly artistic aspect comes from things like GUI design where aesthetics come into play, but the code behind the buttons is dull and boring engineering. Move along. There's literally nothing interseting to see here.
LOL I have to laugh at this whole thread. I've been a professional artist for over 20 yrs. as well as a Creative Director who does some coding. And this is a question that I would not presume to have an answer for. Hell, traditional artists can't even agree on what constitutes art. Is photography art? Many painters don't think so... Is performance-art art? Many artists and viewers don't always think so. Are mimes creating art? (pehaps art that makes people want to kill) :-)
Is Bansai-Kitty art? the PETA people certainly don't think so.
Art is one of the most versitile terms in any language.
There are almost as many ideas of what art is as there are people who will answer the question.
So is coding art? Why not? But only if it is created artistically. :-)
cheers! /b
Bob Cooley eyekon photography & digital media http://www.eyekon.com http://www.onemodelplace.com/bobcooley
Art is not patented. Software can be patented. Software writing legally then is a creative engineering type discipline, falling into "Science" but not "Art". If they want to make it pure Art, then stick with copyright and give up patents. Engineering efforts can be inspiring, graceful, beautiful-but are not pure Art.
OR, allow patents on anything else like that, novels, music, paintings, etc.
wouldn't that be interesting.......
Programming is a curse!
I anyone is reading this: Do not become a programmer.
Just the same happened not so long ago, with cooking.
Some people started to describe some cooking skills as "the art of cooking",but all it had accomplished its to tie good chefs (preety sure they are good at something else) to the kitchen.
Programming its just like cooking, or, as people already've said, a craft. But if you do it long enough, you will start hating it. So people: do not become the computer's chef, do not become a programmer, its a curse.
here: http://chriscoyne.com/cfdg/
I just found out about this today from Boingboing.
Code snippets, recursive loops, and simple drawing commands turn a script into a remarkably beautiful rendering. I have been messing with it for hours and have only just gotten started. There is MUCH you can do with this.
My programming class in high school was counted as an art credit. Perhaps because of the Graphical UI? (We learned Visual Basic :P)
Not the way I code :)
Is the highest form of compliment that our society has besides the monitary forms, so of course we want our craft to be described as "art". However, along with the description must also come the stuff that get sold at the gas stations for US$39.99.
There is quite a lot of code that should be refered to as "art" and among people who apreciate the art form it already is.
Should Joe Sixpack revere your code? No, and he probably does not like the other art forms that you like. But you don't have to like the velvet Elvis that he just bought at the Kwik Trip either.
You're either a troll or an idiot. So maybe an idiot for feeding a troll :) But here goes:
I advise you to read Knuth's "The art of computer programming". Or any other algorithms book.
I also highly doubt that you have been programming for 25 years. Either that, or it's not true that you've never heard of experiments being done in computer science, theories being produced and tested, etc.
The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
Period, the idea of programmers as artist has been around for long amongst tech circle for one very simple reason: artist have the right to mistake and bad design in the name of their passion. If you consider a program as an artform you may not review it or judge it the same way, this feature in our accounting software might be clunky but it is a statement on the inneficiency of the government to address issues in a reasonnable delay...
Programming isn't and artform, art does have a bit of uncertainty, not all parameters are known, sometimes this uncertainty is what result in magnificient art. Programming is a matter of certainty, you know the parameters, you know what to say to obtain what, it is science pure science, the only reason you aren't always sure of the result is because you don't know your trade enough, because the info is there and requires no special skill to apply just compliance. I know most programmers view themselves as very special people with very special skill not much other people possess but the only reason it's true is because most people find programming boring and tedious not because it is beyond their mere mortal skills.
Then again if your deffinition of art is number painting I understand you see programming as art.
Programming is definitely an art. Check out Art & Logic.
Err, that second sentence should have been "So maybe I'm an idiot for feeding..."
The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
it was art until someone changed the specs, now it just late!
As the professor, one of my fav profs, I had for calculus and physics (and Pascal) used to same in both classes, it sometimes take creativity to solve a problem. Ans as far as I'm concerned the arts are creativity applied.
FalconShould there be a Law?
No.
I have but one thing to say before answering the question "Is programming art?".
Please define art.
wbs.
Huh?
Art is quite simply creation. Nothing more It is creating something beautiful or thought provoking or inspiring or useful or whatever (in the case of some modern art) using the tools of your choice. Under that definition programming is most definitely art.
If you see spelling or grammatical errors don't blame me. I tried to preview but IE here at work borked the CSS
now, being a control freak w/ a good sense of artistic design makes for a hell of a programmer! =)
the only permanence in existence, is the impermanence of existence.
Programming isn't art, it's a craft but so is painting or makin statues. Art can be programming, however enough people rarely get a chanse to see or understand the beuty in programming, so any piece of programming being accepted as art is very far off.
Maybe in the year 4010 peole will be remembering "useless" pieces of code as art.
In this post-modern world, art is whatever is declared to be art. It is also whatever is not declared to be art, too. In that light, the Blue Screen of Death should not be cursed, but should be contemplated and appreciated as a means of raising the art of frustrating the user to a new level.
One reader compared it to building furniture in that both types of products can be utilitarian and artistic at the same time. To extend that comparison, furniture building shops can be any size, from one person building furniture as a hobby all the way up to global companies with factories all over the world. The same is true for software development shops.
Only the smaller furniture shops rely on the builders to design their own furniture. The larger shops hire designers to do that. Many of those designers are artists who do not know how to build furniture. The same is true with software development shops.
Yes - another example air brakes on locomotives. Understanding how to work air brakes on mile long trains weighing TONS is an art. It takes skill to know how much and when to apply. Programming has the same kinds of nuiances plus more. Clever techniques can be properly applied and cause train wrecks or make simple, effective code.
{
setting.yourVCR=ART;
}
Output can be Art. That includes the program. Programming in and of itself is not. Now ask again. Are programs art?
Are paintings/Drawings art?
is Poetry art?
I think the answer to all is sometimes.
OSGGFG - Open Source Gamers Guide to Free Games
Science can broadly be defined as the pursuit of knowledge about the material universe via the method of observation (via the senses or aids such as measuring instruments), combined with additional methods such as logic and mathematics.
How exactly does programming, which is an act of building or creating something (craft, engineering, or art), fit into that? The answer is that it doesn't.
putfwd.com - 1GB Free file storage with a twist
I didn't know Jackson Pollack was an "artist" .... I just thought he was a shitty painter.
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?
Ah! I remember discussing this during my programming training course in 1980! This was in the days when there was no fancy guis and you had to do most of the hard coding yourself! I remember reading some code and commenting on how beautiful it was in its elegance. Other code came across as brutish and sloppy. If you threw out coding standards, then each programmer could create something completely different. We concluded it was art. But what do I know ... :-)
Rgds,
Eoin Meehan
Hackles: Preston, do you consider programming more of an art or a science?
Preston: Quiet! I'm trying to cut and paste 300 lines of code into 7 different places!
Hackles: Never mind
See cartoon: http://hackles.org/cgi-bin/archives.pl?request=37
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?
Any intellectual work is art. Look at copyright law. Musical compositions, audio recordings, paintings/murals, and photos/imagery/graphics/maps can all be copyrighted. Source code can be copyrighted as well. However, unlike most of the others, software can also apply to patents, thus alleviating it from the realm of art.
I think that should answer the question.
I love how we put on aires about computer programming. Let me sum it up for you... is is an art or a science? you fool - we're just labor.
Here's my take on it: Programming and painting are skill sets. You can paint houses, roads, portraits, "Dogs Playing Poker", or the Mona Lisa. But you don't hear anybody asking "is painting art?" Painting, like programming is a skill set with which you can create art. It's not a stupid question; if your man were trying to create art with 100Base-T as his chosen medium, he certainly could. It would require conscious intent and aesthetically pleasing arrangement. You would have to be able to look at it and say both "I can tell that whoever did this meant for it to look exactly this way", and "I find it pleasing to the eye."
Well, I have snipped a bunch of this for length, but my point is this: Programming is a skill set with which you can execute art.
Something which ocurred to me: How often have you been told that you can't appreciate art, or don't understand art, or have no competent qualifying cultural referential framework with which to comprehend the totality of individualistic combinatorial elements as anything other than a dozen eggs? You say it's art; I say it's paint thrown at a wall.
This is not to say that the definition of art is only subjective. What I'm saying is that if the sniffy fine-arts types want to tell us that we don't know art because we're not qualified, then that works against them in this case, doesn't it? So Ivory-tower-ism will not get us a definition. Hi-falutin' or not.
Don't trust anyone under thirty.
I think for our own sense of self worth most of us try and produce code that could be considered art, or at least artful. However most of us are constrained by talent, time and our beloved clients.
Until you do it for a living.
I believe it is art for the very simple reason that there are multiple ways to get the same result. It would be a science if there was one single definate way to do something.
Never could figure out why my girl liked my bitch tits, then I found out she was a lesbian.
programming is like construction work. some programming is simple - just laying one brick atop another. other programming is harder - skyscraping projects. still other programming requires elegance - like a fine architectural piece.
i'm a warehouse-builder, now. i consider it quite on a par with construction work.
Is "who cares?" an option? What exactly is the point of this argument?
My local school treats comp sci as a subset of math, so to get the BS, you have to do ungodly amounts of math that will likely never see real world use.M
That's what my first programming class was, in hs I took "Cumpter Math" which was nothing more than learning programming in BASIC. Mind you not VB, this was on the Trash80 and Apple I,II.
Should there be a Law?
Mod me as a troll if you want (as done before), but who the fuck cares? "That which we call a rose..." It doesn't matter what it's called, programming is what ever it is. Labels are worthless, if not now then in the future.
I have been programming for about 17 years and my background is mechanical engineering. For many years I saw programming as the kind of thing a technician does. A technician is a guy of at least some intelligence with the proper training and experience. He gets the job done. The funny thing is that as years passed I never changed my basic opinion on the job as a whole.
Then one day my boss was chewing my ass off for God knows why, and he complained that the problem with programmers is that they are artists and that opens a huge can of worms. We argued about it for a while but he left me convinced that yes, real programmers are artists, not technicians.
When was the last time you read a bit of hacked together code that looked so nasty that it made you smile? Sure, it looked like hell, but it got the job done. You could probably recognize who actually wrote that particular piece of code because eventually the great programmers develop their own particular style.
When was the last time you read a tiny little bit of code, a really small function that did just one lousy little thing, but not only it did the job, but it took you a split second to figure out what the hell the programmer was thinking when he/she wrote it? That's art.
If programming was purely technical, then we would never get into the zone in the middle of the god damn night, or solve a problem while in the can or taking a shower.
Pedro
----
The Insomniac Coder
Art to me reveals itself when it, by its existence, evokes an insight into something greater then the obvious and mundane. I feel transformed after wandering through an art gallery, finishing a well written book that touched me or listening to music that "struck a chord". It is not just the finished product, but the human effort to achieve that product that moves me. The continuous practice of the musician, the inspiration and perspiration of the composer and writer. The baffling achievement of the artist. Glancing at my bookshelf, I see the "Linux Programming Bible by John Goerzen" with its rational layout and copious sample code. I can use it as a reference for "how to do X", but it does not move me. OTOH, TAOCP by Knuth does move me. Even comparing the complexity of the typesetting and the painstaking efforts of the TAOCP author to create the typesetting language in the first place! As for programming as art, one has to decide whether a utilitarian outcome can invoke a trascendental experience. I think good building architecture hints at this, however it is not often that the architect is the one who implements the design. Maybe programming can only be art when the design and the implementation are conceived and delivered by the same person. This precludes the large "sausage factory code" and includes a lot of single author creations such as Perl, Python, TeX, Emacs (regardless of subsequent contributions by others).
Slashdot: Where nerds gather to pool their ignorance
You can never call it one or the other and be entirely correct. It's not black and white like that. Some scientists would argue that their line of work is an art form in itself. As has been mentioned before architecture can also be both simultaneously. A better question would be "Does it really matter?" PS - I like to think of it as both ... a good program requires both know-how and creativity (and it makes me feel intelligent and artistic simultaneously =D)
I am Spartacus
Coding is technical. User interface is an art, debugging is an art, optimization is an art.
Play Command HQ online
"You could probably recognize who actually wrote that particular piece of code because eventually the great programmers develop their own particular style."
This hits the nail on the head. The word "style" is used to refer to a artisan, not a scientist. Even when it is applied to somebody within a scientific domain, it is meant that they are displaying a creative (even mystical) sense about their endeavour. Look at Einstein's mysticism as an example of this.
Scientists don't develop a style, they develop a specialization. Mathematicians develop a style, and it took me a long time to learn (despite some of my friends' best efforts) that math is indeed an art also.
Anyway, your point was beautifully said!
Cheers,
Lux
putfwd.com - 1GB Free file storage with a twist
Wikipedia: Art. There's actually some good and relevent info in there. To wit: "Art, in its broadest meaning, is the expression of creativity or imagination, or both." Based on that, I'd say that programming has a strong artistic component.
Helping with organizational effectiveness is our job.
with determining if something is "art" or not, is that you generally must have a deep understanding of the particular art form in question, and the subtleties that make it art and the better practitioners of it artists. A beautifully-designed skyscraper may very well qualify as art, but a software engineer (for example) won't really have much awareness of it beyond "gee, that's really kind of pretty." For that matter, an architect who doesn't have the proper experience with that type of building might not be able to grasp the essential "artness" of the design. A sculptor wouldn't necessarily be able to recognize whether an oil painters work is truly artistic, even though both are artists. Art is a big pasture, and isn't always that easy to quantify.
Most of us developers have, at one time or another, seen a piece of software that was so elegant, so striking, so far beyond the norm that the only term we could apply was "art". And when you get right down to it, software certainly can be art. Or not.
The higher the technology, the sharper that two-edged sword.
No. Given that I'm a gifted programmer and have all the creative talent of a rock in the mud.
I'm entirely left brained.
That's not to say there isn't something beautiful about an elegant solution to a tricky problem, but I'd say no, it is not "art" though there is an art to it.
Question everything
When was the last time you read a tiny little bit of code, a really small function that did just one lousy little thing, but not only it did the job, but it took you a split second to figure out what the hell the programmer was thinking when he/she wrote it? That's art.
No, it's a puzzle or a riddle. If it's elegant, clean, and crafty, that's art.
If it's just hacky for the sake of it, it's either a puzzle, or it's the programmer publicly masturbating.
One of the two anyway...
Coming soon - pyrogyra
In my opinion, programming is like solving a puzzle.
It's not art because the finished product doesn't make you think about how you think about things. The source code might, but that's not for public consumption.
- -- Truth addict for life.
Again, programming is a syntax/grammar. This is a moot question--call it a art if you want, it's just like any other language know to mankind.
In truth, art today has merged with marketing and advertising. To be an artist today is to be a master of communication, a master networker.
The question is not is programming art but rather can somebody convince you that programming is art.
The moving cursor writes, and having written, blinks on.
"Computer Science" is Not Science and "Software Engineering" is Not Engineering
http://www.shop.com/op/aprod-~andy+warhol+cans-p11 367443
Table-ized A.I.
People are so busy trying to be creative in architecture, that they design junk which doesn't fit the site and isn't functionally optimal. Same thing pops up in programming. With the Longhorn preview article, there were two main types of comments about translucent UI.
1. Apple had this years ago.
2. What a waste of time, fix security problems instead
If people treat programming more like building furniture and less like creating a painting, you'll get something easy to use and stylish, as well as robust.
Vote for Pedro
Comp Sci is the science that makes the art of programming possible.
i see a lot of people confusing design with art. some people are saying things like "if an architect designs a pretty house, hes an artist, so that makes me an artist too". BZZZT wrong!!!
its not art because its pretty and functional, thats DESIGN. at work im not called an artist, my title is graphic DESIGNER. why??? becasue of what makes art, "art"... expression. im designing at work, im expressing myself at home on my own time in my own works.
when coding you dont get to express anger, love, happieness, or sadness. you just design with the tools you have, and what you design might be "pretty", but you did not express any emotion in your code.
your no more an artist than an artist who can do a "hello world" in perl is a programmer. dont confuse design with expression. yes a designer can express themselves, but its very rare and i have not seen one example of emotional expression in someone code, unless they are writing poetry in their comments.
thats pretty much my best post ever. I spent like 3 hours typing it.
I would say their is an art to programming. And that good programming is as much art as it is science. But it's a lot like asking if mathematics is art? We do have things like Perl Poetry and Literate Programming.
Other than that I think this is yet another stupid question.
Well if humor is art then this old Unix sex joke is art: # unzip ; strip ; touch ; finger ; mount ; fsck ; more ; yes ; umount ; sleep
"You'll get nothing, and you'll like it!"
Riddles are a form of art.
Especially old style ones, which are comparable to code.
It's not art because the finished product doesn't make you think about how you think about things. The source code might, but that's not for public consumption.
?
Tag lost or not installed.
As a musician, I deal with lots of music from hundreds of years ago, and the best music often takes many years to reach its proper place in public opinion. The art of programming is relatively young, and only pioneering conceptual giants like Babbage (Lovelace?) and Turing spring to my mind as 'great' programmers (though I have never studied computer science).
For example, it's not obvious from a quick search whether any one person was instrumental in conceiving the multi-threaded Apollo Guidance Computer. Unfortunately this is probably the most glamourous computer built in the 1960s, and I fear the rapid pace of tecnological change will keep the art of programming focussed only on the present, relegating both inspired and dull programming to obscurity before proper judgements can be made.
I’m old enough to remember 16K of memory being described as “whopping”
Art is a word that immediately scares people off, as being a little too grand. But all I mean by art is writing something that is valuable in itself and that works in itself.
Would were! Should is! Could be! And live a hundred times three.
it takes an artist to create an initial set of code (both CLI and GUI) to make an application but it then takes an engineer to improve on it and make it perform as best as it can (both CLI and GUI).
this nation, under God, shall have a new birth of freedom. -- Lincoln, Gettysburg Address
But having said that, there is nothing stopping any programmer worth his salt to do cool and interesting that people can appreciate and admire, then its truly is art
Sorry to enter this so late, but,
Art is about context, not about materials or even content.
I both program and I've recently graduated with a degree in Painting and Drawing.
Dada Mail - Program, Art Project or Absurdity?
Art seems to become not art, in many cases, when it is done properly.
e.g. a fancy chair done by an artist looks nice but is probably composed of shoddy joints and shitty welds. Whereas an industrial designer has to make sure it will also practically support the weight it was intended to, etc.
They may both me as asthetic, but one is designed properly, based on mathematics and the other is just thrown together.
So like industrial design, all programming involves art - but good programming involves more too, i.e. a deeper understanding of what you're doing and how you're doing it.
(this applies to physical things more than pictures, obviously).
_
\\/ are accustomed' - First Lensman
when the programmer is viewed as an artist. Programming should be at least a strict science, perhaps even a branch of mathematics.
The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.
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..
The only thing "artistic" about art is the decision what to be "artistic" about. Everything else is engineering - putting together known quantities of known materials to generate a desired effect.
HOW you put together those materials - say, for least cost to greatest effect - might be imaginative, but it's still engineering in my view.
Any programmer who think he's doing "art" is probably a piss-poor programmer - and probably has never documented a single program in his life.
Which is just about every programmer I've ever known, seen, heard about or read about.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
Some programming would qualify as engineering - carefully specified, carefully implemented, deeply tested, task-specific.
Some programming would qualify as hobby - the people who try to roll together [some program] with [some wierd constraint] just for the hell of it.
I can't say I'd consider any sort of programming "art".
It's not engineering in the sense of pysical engineering. As an actual mechanical engineer has pointed out here, engineering requires mathematical analysis which is extremely rare in "the wild" (ie, on the job).
I don't see it as art per se, either. God save me from getting into the "definition of art" conversation on Slashdot, but suffice it to say that I have never, even once, seen a code readout which has emotionally moved me at the level that good art can. Furthermore, I'm pretty sure that such a thing can't ever exist, at least for me personally.
I do think it's a craft, sort of after RMS's quote from the article. Anyone familiar with programming will recognize that there are good and bad techniques for doing things, and there are somewhat analogous received forms (say, OOP as an analog to a still life painting or sonnet).
I think a metaphor that fits more naturally to me is automotive repair. Maybe I'm focussing too much on the profession of programming, rather than the act, but bear with me.... A large amount of the actual business of programming requires having deep knowledge of the products from a particular vendor (say, Microsoft). In both professions there's a pretty good amount of technical background required (for car repair, I don't mean physics so much as the basics of what a carburetor does and so on).
There is also a similar mindset of playing around and trying different things until something works. When a mechanic goes about diagnosing and fixing a problem, he or she doesn't sit around calculating load-bearing shear levels (at least I don't think so, maybe they have whiteboards full of equations hidden away behind thise girly calendars). Instead, they'll look at the symptoms of a problem, try to isolate the subsystem it's coming from, and then look for ways to fix the problem in that context. This seems very similar to the debugging process to me. And at the end, neither the mechanic nor the programmer has scientific proof that their solution was correct.
As a caveat, I am by no means skilled with auto repair myself, so this is just guesswork, mostly. Can someone who is comment on whether there's a difference?
What is the nature of programming?' Is it art or science?
This question implies that programming is one of the two, art or science. Is it?
I think the act of creating a program could be art.
But the end result rarely look artsy. Really good
source code is simple and straight forward.
The art is in defining and breaking up a problem.
In realworld there are people who just copy EXACLY existing paintings. Thats craft.
,"ALL programmers must be able to understand you so no clever things"
Then are people who do those masterpieces on firstplace. Thats art.
When it comes to programming, most people are craftsmen.
I'm artist, and when I have my artists block it can kill my production for a long time.
But when I get the inner genius going on I produce master pieces.
The difference between artists and craftsman is huge. Artists feel and create images in their mind, and then produce the inner image. The craftsman just uses his skills, and just implements stuff in more direct manner. Gets the thing done, but don't do anything clever, or they just lack an original inner image on the thing they are going to create.
Creating the original inner image IS the art. The copying the image to some medium is a craft.
ALL programming is craft until you are good enough, after that it can be either, and that depends on.
A) your personality.
B) your enviroment.
C) the strictness of the specs you are given.
IF specs say just a few words for huge program you have chance of creating art. If they define everylittle detail you cannot create art. ART is something creative, and most programmers are just implementors and not artists creating original stuff.
Emacs is good operating system, but it has one flaw: Its text editor could be better.
Because the primary property of such programs is that they are functional. They can be as beautiful as you can imagine yet if they fail to do some function (however useless it may be), they are not programs.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
You never will.
Fine art means making things purely for their beauty? No Fine art is merely defined by the holders of the official cultural reference frame. Once you start disregarding people making christmas sweaters as fine art, you are pretty much disregarding the "human" spirit as well as creative wonder.
Yes, programming is art. A conversation is art. Waking up in the morning and stretching in a certain way, then lazing about to read the paper is art. EVERYTHING is art.
Some are things that peope want to pay for, or look at, or carry with them and show other people. Most are silly and very very personal.
So, stop asking.
postmodernsideshow.com
If the word "art" had a clear meaning we could just look it up in the dictionary and check for all the properties.
Because it's rather vague, we have to first define it, and every person would do it according to their own archetypes.
If your idea of an artist is a guy with a goatee and a pained experssion in his eyes, "art" would have a different scope of information that if you think of an architect.
I think that it's rather pointless to categorize something if you have to invent a definition for ir.
Music is a well understood and documented discipline as well. It is grounded deeply within mathematics. I'm certain we could get any sufficiently indifferent music theorist to dissect an arbitrary piece of music into a simple repetitive set of unoriginal blah.
And yet, music can be art. Timbre, duration, pitch, dynamics and other *implementation* considerations are substantial factors in determining the style and quality of the music. The composer (designer,architect) also will not be denied his title of "artist."
And so, in coding as well. We can write a particular function one hundred different ways. But, when we balance the architecture with the many implementation level issues, I propose that we have the potential to create art.
How does the gifted musician know that a particular note or combination of discrete notes of particular length, volume, and timbre, bounded by other related notes or combinations will generate an emotional response?
How then does the gifted coder know how to balance the myriad language, schedule, readability, complexity and other variables in order to create a result that not only works but creates an emotional response as well?
Implementations need not have an audience to be designated "art." The classic example of the mentally ill poet who labors in solitude is probably too extreme, but it serves the point. These too are artists.
Coders do not have an large audience for their works, by necessity (see Fred Brooks).
Hopefully, we have all seen code that moved and inspired us. Perhaps we even wrote that very code. I don't have any other word for it, save "art."
This sig washed every five years whether it needs it or not!
Programming is as art/theory as programming languages allow it to be. For example, coding a web application with plain C is art/craft. Coding an application with O'caml is close to the theory, because O'caml and other languages like that are based on a solid theoritical CS basis like the Lambda calculus.
Would it be possible for programming to be totally theory/science? well, not every human is capable to grasp Math. But at least in some degree, it should. It is just a shame that millions of dollars are getting lost every year due to programming bugs that could have been prevented if programming languages were based on a solid mathematical foundation.
It's often written up so difficult like that us normal folks can't read it nicely, and it's got no good pictures and jokes to liven up the reading.
"Conceptual art lacks craft" is exactly equivalent to "Perl programmers are incompetent because perl code looks like line noise." Hell, yeah, some conceptual art is crap and some Perl code is line noise, but it takes an expert to recognize it.
Next time you're at a conceptual art exhibition, think of your pointy haired boss peeping over your shoulder and saying: "That looks like pretty bad code to me. If you used less white space, you could fit a lot more code on one page."
Around 1890, people used to say that Van Gogh and the impressionists lacked craft because you could see all those fat brush strokes.
Now, if this snotty reply didn't inspire you to throw mud in the face of the next highfalutin' artist you meet, I don't know what will.
As an MFA student (graduate level fine arts), I am qualified to make the following statements.
Art is not mutually exclusive like that, you can't just arbitrarily say whether something "is art" or not. In layman's terms, an artist can create a computer program, but that doesn't mean all computer programs are art. More importantly, just because all programs aren't art, doesn't mean that you can say a particular program is "not art". Calling something "art" means that an artistic concept was involved in the creation, nothing more. I can create a computer program that qualifies as "art", and that perhaps produces fine art in a traditional form, but the Fine Art canon has not incorporated programming into itself yet. Thus, it is impossible to say whether a program would itself be considered "fine art" by the conventional standard. Note: This also goes for any art newer than 50 years, including most of post-modern conceptual and performance artworks.
stuff |
I would say programming is related to Math more than art
Chris ,
Php Programmers.
I was taught at university that programming is constructive, and that art was the opposite since it doesn't serve a purpose.
Rock is Dead! Long live Paper and Scissors!!
And in my own opinion on the matter, I consider my source code to be art. I'm speaking simply about the way that the text on the screen appears -- symmetrical and balanced, with margins and lines flowing in and out to represent the structure of my thoughts, with beautiful blocks of comments dancing atop each block, all the similar operators on adjacent lines column aligned... I derive pure joy from just viewing a properly structured source file.
Perhaps it's not art -- rather just aesthetics -- but for me it's an expression of my love for the work that I do -- much like Linus said in his quote. It also makes reviewing old code much easier and more enjoyable than when it's a garbled mess of left-aligned or non-commented rubbish. The true joy? When a talented group of developers all discover a love for that same aesthetic, and over the years each of their code in all its perfect beauty becomes indistinguishable amoung them.
if you use your form to express yourself, than it is Art...
if you use your form to make money, then it is just your job..
*plays the Apogee theme song music*
Most likely you don't realize it, or maybe you are somebody very insightful.
What people like Marcel Duchamp ot Tracy Emin are screaming is that anybody can be an artist.
The only thing you need is to get of your a@@ and do some art!
IANAL but write like a drunk one.
'cause, the way it being done, it certainly ain't a science.
:-)
While a nice hack is a nice hack, its a one-shot, specific situation response to an engineering problem. I've come up with quite a few myself over the decades. They help pad out a resume. My full (private) one runs to dozens and dozens of pages. (Nobody should have to read all that sheet music for "Blowing your own horn."
I know that they're not science. The science part of Comp.Sci. ain't. I would hesitate to call the crazies I've worked with over the years scientists. Heck, they weren't even curious. Nice bunch of guys but no scientists. They don't understand what they're about, never mind computing.
Their minds got closed along with their school books. You don't advance that way. You 'tinker'.
Now I'm not tarring anyone with the "dilletante" brush, there is definitely some science being done, but its either of the tinkering variety or its not being put into practice because the QA process still applies and it takes years longer than any budget can pay for.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
Made quite a stink with his "The Holy Virgin Mary," which has elephant dung draped on it.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
Prestige.
/.ers that can't be arsed to actually produce some art like to conceptualize themselves as artists.
All the rabid
No effort, no study, no philosophy or ideological or artistic manifesto,
Besically they think what they do is art because they say so and to be an artist is cool (when has benn cool to be a c++ progrmmer?: just imagine: allow to introduce myself, I am Joe Bloggs and I am a progremmer... that does not have the same ring as I am Joe Bloggs, a prgramming artist. Dear Jo is still the same code monkey with badly commented code that needs to meet stupid deadlines, But now he is an "artistre").
The funny thing is that it is very easy nowadays to be an artist, a real one. XXth century artists democratized art production for the masses: if you can use an urinal, a campbell's soup can or a messy bed full of rubbish for art, then you can use anything for art.
But you have to work on the art. You can't claim that the code you make for another purpose and without any intention to do art is art.
IANAL but write like a drunk one.
... because he doesn't ever try to "break his code". Note that all the quoted commentary is in support of the thesis with no serious look at opposing points of view.
In order for software to be correct it must run. Running involves being mathematically correct for the target platform. i.e., sequence, size, and timing are all correct.
Artists don't rework their art based on critique, i.e., peer review.
Is CS art equal to code bloat? A wheel is a wheel; strengthening the wheel usually isn't considered art, but decorating the wheel is considered art. Non-functional decoration of software is code bloat.
I used to think that Jackson's Pollock's art was so simple that a 4 year old could do it, and that was verified when my 4 year old did some paintings that are as good.
Turns out, she has talent and an eye for abstract art, but hasn't learned the techniques and protocols of older artists. What I'd like to know is how much instruction to give her, so that she doesn't lose the spontaneity that makes her current art so good.
-Mike
All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
Of course "programming" isn't art, it's science and engineering. designing software can be considered an art but the act of programming is not art.
IMHO, this guy really hits the spot. I agree 100% with him. This is why I enjoy coding as a hobby, while I do not really enjoy it so much for work.
When you code for work, you have to do it "the right way". It often kills the fun and often gives me a feeling of "it 5'o yet?". I would call this the Science of Programming. Ofcourse, the results are often very good (but not necessarily better) and scientifically sound. A big caveat is that if you skip a few steps or don't do it with a 100% conviction, it is as bugprone as any piece of software developed with another method. To not even mention faults you make with the design that will not be pointed out until you actually build it and the redesign/refactoring that comes with that.
When you (well, I) code for hobby, I sketch most of the time. This is often frowned upon by the theorists as being bugprone and medieval (sp?). I disagree. While I concur that most beginners do it this way and often generate really crappy code, when done correctly, the outcome can be more beautiful then any fully designed software. After many many years of doing this in my free time, I do believe I've gotten rather good at it. My 'sketched' software in the end is just as object oriented and looks just as well designed. I would call this the Art of Programming. The design evolves in your head while you hack at it, beating it into submission. Object Orientedness, in the same way, just happens. In the end, everything falls in to place. IMHO, this is a much more creative and satisfying form of coding than the scientific variant.
Ofcourse, my definition of the Art can only be done with languages that don't take Coffee-Compile-Time(tm) like C++, since then you would never actually be able to finish such a project. I also suspect you must be reasonably fluid in the scientific variant to bring (my) art variant to a good end.
Ok, I'll shut up now.
I have found that shops typicaly have some of everybody in these 3 categories:
1) The Designer (nearly burnt out)
This is someone that has been burned by the maintenence side of development so much that they would prefer to sit around and over design everything rather than actually getting anything produced. Prefers to define rigid specifications and trys to stick to project plans. This is an engineer, not an artist.
2) The Hacker (probably young and fresh)
This is someone who would prefer to try 10 solutions through prototyping in the time that it takes the "Designers" to argue about which object model is more appropriate. The hacker is most concerned with functionality and is not afraid to fail and start over. This is an artist.
3) The talker (really burnt out or new and unskilled)
This is someone who talks about slashdot and OSS all day and does not contribute to design or code in any meaningful way. This is not an artist.
In a large corporation (and some small shops) management is always after a "reproducable process". Basically any "reproducable process" is not art.
Software that works and was written without proper specs is art, software that works and was written with proper specs is expensive and takes at least 10 times as long to develop, and it is not art.
It is the difference between Shakesphere writing Hamlet and a million Manager^H^H^H^H^H^H^H monkeys on a million type writers.
I am an artist. I say it is art. Therefore it is art.
There are some guys that just don't get the art v science debate ...
http://thc.org/root/phun/unmaintain.html
OK, maybe slightly off-topic but please forgive me ;p (and not my web site BTW)
I find the visual appearance of code is as important to code readability as plain good code. So I guess if that makes it art, then it is art.
Why does it have to be either/or? Can't it be an artistic process to create an engineered solution?
Or an engineered process for artistic solutions? Or a suspension, engineered to solve artistic... I'm confusing myself...
I was at an MIT reunion last year. Most of my acquaintances were earning income off of software activities, though none of them had majored in computer science. This included a philosopher, linguist, a geologist, a mechanical engineer, and a biologist.
P.S. This was a boomer generation. The rules may have changed for youngsters.
depends on your definition of art (there appears to be authorative definition of the word art anyway). I'm not really interested in either the definition or the answer to the question.
But then the question is typically asked by programmers looking for a justification of their work. Hint your not an artist but an engineer. Others will judge by your engineering qualities, not by your artistic skills. If the code is beautiful crap it's crap to the outside world. It might be a work of art to you but nobody will care until you fix it.
Jilles
Just to mix things up, a good artist is also considered a craftsman.
Art, in my definition, is when the artist communicates to others the artist's own viewpoint of something. It's a more complete form of communication than just talking. Software is exactly that: it conveys information to the end-user in the way the designers and craftsmen who built it intended to convey it.
That, of course, is a definition that also proves that there should be *no* software patents, since art is copyrighted, not patented. Exch program is a different expression, even if it's of the same data. Come on, can someone patent a mystery stohyperdrive in a starship?
mark "too many lawyers, and managers who
only want to make money off of others'
work"
Yes, that definitely qualifies as art. Technical, lethal, graceful and screaming fast, but still art.
http://www.bnr-art.com/aeronaut/valkyrie.htm
http://www.unrealaircraft.com/classics/xb70.php
http://www.labiker.org/xb70.html
... by the Dew of Mountains the thoughts acquire speed, the hands acquire shakes, the shakes become a warning
I have looked at code that was so brilliant as to be beautiful.
I think good code is a mix of proper programming habits, intuition, style and creativity.
If that isn't a form of art then I think we need to redefine what art is.
I have also seen art that is very popular yet I feel it is the most god aweful crap I've ever lain eyes on.
I am Bennett Haselton! I am Bennett Haselton!
Programming is an expressive medium. It is not an art form in itself, any more than prose is per se. Both are media in which many things can take place, including education, instruction, conversation, function, and art. I personally lean very much towards using both of these media in an intensely practical manner, with no concern at all for artistic aesthetics. But I can appreciate art when I see it, in both of these media.
Many IOCCC entries are artistic, in various respects. The context of an obfuscated code competition encourages it. The example I want to display is in a related form: I invented the single screen Perl constrained medium as a blend of artistic and engineering aesthetics. Take a look at the emergency holographic talker; I claim that it is very much a work of art, unlike most of my programs which are pure works of engineering.
**get you r h abs oidd o my beeetattteeeeerrrrr
WTF does here, here mean?
Fuck cut-n-paste code, man...at least that compiles.
This here, here shit generates a parsing error.
Writers imply. Readers infer.
Code can be Artistic, but most often is a craft.
Without code creativity solutions get implemented poorly and in-turn will perform poorly. Craft programmers will most likely never come up with creative solutions to solving problems, because they are only working to meet requirements the quickest and easiest way.
By definition programming is an Art. Art is defined (partial list from m-w.com) as
1. skill acquired by experience, study or observation
2. an occupation requiring knowledge or skill
3. the conscious use of skill and creative imagination especially in the production of aesthetic objects
The problem is most programmers don't have any of these.
Thank you,
http://www.code-optimizers.com/
I'd say programming is art to the extent that it satisfies the human need for the recognition of the patterns and aesthetics found in nature. In other words, to the extent that programming fulfills a function and need that mimics the efficiency and beauty of patterns found in nature, it can to that extent be considered art. (Since in its highest form it mimics the nature-derived evolutionary efficacy recognized by the human brain as being 'beautiful' or at least well-patterned and having some degree of mental algorithmic symmetry.)
Either that, or programming is art to the extent that it contradicts the above yet still fulfills its natural purpose...
I see programming as trade art. Some can be very good art, and a joy to see.
Some can be bad art, and make my head ache.
My experience as a professional employee has shown me that my employer (and the customers that we contract with) deeply wish that this were not true. They wish for a software "Assembly Line" that is predictable and repeatable.
They have spent enormous amounts of money in pursuit of this mythical Assembly Line.
In my view, it is not going to happen. Art is art is programming, and good art requires insight and inspiration, which is not a commodity that can be bottled and preserved, and used at will.
It does not keep them from trying, however. As a result, I am stuck with the latest "software engineering methodologies" that bring my job down to the level of assembly line drudgery.
My job has become a "day job," and I live for the art that I can code at home, like artists throughout history.
Sigh...
Depending how you look at it, Computer Science has very little "Science" in it.
Many definitions of "science" (At least, the ones I feel are most relevant here :-)) can be paraphrased as using the "Scientific Method" to gain knowledge.
The "Scientific method," in turn, requires you to observe, hypothesize, and experiment.
Hmmm... very little of that going around in modern C.S. curriculums - undergraduate or graduate.
Instead, I liken modern programming to the field of applied mathematics (which I also do not classify as a "science"). They both are all about applying tools (very similar tools, I might add) to problem domains.
Except for geeks who love the tech for its own sake, computers are all about solving other peoples' problems.
Not that I mind - I just think that "Computer Science" is a misnomer.
On the other hand, I have run across some journal articles that published actual computer-related scientific results. But only a few.