Slashdot Mirror


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."

97 of 462 comments (clear)

  1. Not a fine art by fembots · · Score: 5, Insightful

    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.

    1. Re:Not a fine art by SIGALRM · · Score: 5, Insightful

      Since programming is an art, we ought to be able to classify types of programmers. Here is a start;

      The Picasso programmer: As a whole the system works, but each piece is a warped view of reality.

      The Jackson Pollack programmer: Throws code at the system, trying to see what works.

      The Georges Seurat programmer: When you step back from the system, you can see the overall pattern, but close up each piece is totally distinct from all of the others. (Actually, this is a pretty good description of OO design).

      The Michalangelo programmer: Has a grand, sweeping view of what the system should do, but each piece is done in such meticulous detail that it takes years to finish anything.

      --
      Sigs cause cancer.
    2. Re:Not a fine art by ShaniaTwain · · Score: 5, Insightful

      When you have to take functionality into account, it often kills the artistic side of the creation.

      That would mean that architecture, furniture design, etc lacks in the artistic side? I dont think this is the case at all - giving something functionality doesnt remove the artistic side, they complement each other and are not mutualy exclusive.

    3. Re:Not a fine art by Waffle+Iron · · Score: 5, Funny

      Unfortunately, most software on the market seems to have been written by the "Dogs Playing Poker" programmers.

    4. Re:Not a fine art by Tackhead · · Score: 4, Interesting
      > 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.

      Depends on the code. Depends on the art.

      I'd consider every entrant into contests like the IOOOC (or obfuscated-your-language-of-choice), to be art. I'd consider any esoteric computer language (a whole line of 'em including INTERCAL, Brainf*ck, Ook, and so on) to be art for art's sake.

      But as for functionality "killing" the artistic side of the equation -- sometimes the most functional things are the most beautiful. Lamborghini, Ferrari, Aston-Martin, Rolls-Royce, Bentley, XB-70 Valkyrie, SR-71 Blackbird, Concorde. Very functional machines, designed to perform very different functions, for very different people. And all very beautiful.

    5. Re:Not a fine art by squidfood · · Score: 5, Funny
      Unfortunately, most software on the market seems to have been written by the "Dogs Playing Poker" programmers.

      And there's a market for that. Hence, Visual Basic.

    6. Re:Not a fine art by sharkey · · Score: 2, Interesting
      The Picasso programmer: As a whole the system works, but each piece is a warped view of reality.

      PERL

      The Jackson Pollack programmer: Throws code at the system, trying to see what works.

      Windows

      The Michalangelo programmer: Has a grand, sweeping view of what the system should do, but each piece is done in such meticulous detail that it takes years to finish anything.

      Gravy Trader

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
    7. Re:Not a fine art by pyg · · Score: 2, Funny

      Wow! I didn't know so may folks were 'Jackson Pollack' type artists... I just thought they were shitty coders.

    8. Re:Not a fine art by LaminatorX · · Score: 4, Funny

      Michelangelo must be the lead programmer for the HURD.

    9. Re:Not a fine art by Com2Kid · · Score: 3, Interesting
      • Programming can be a highly developed craft, but it cannot be art.


      Now that is not true, just as many Fashion Designers design cloths that have no practical value outside of being "showcased", I as a programmer can write a program that has no practical purpose outside of showing others a particularly nifty bit of code.

    10. Re:Not a fine art by lskutt · · Score: 5, Interesting

      I agree, but not completely. Paraphrasing the czech theorist Jan Mukarovsky[1]: art is when the aesthetic function is greater than all other functions.

      Therefore, I would conclude that programming per se is not art, but that it very well can be - if intended. Consider the IOCCC. While all competition entries do perform some kind of practical function, the main purpose of each one is to be elegant, beautiful, ingenious etc.; properties which we usually associate with art.[2]

      [1] Mukarovsky, Jan, "Aesthetic Function, Norm, and Value as Social Facts.", 1936.
      [2] Note to self: I need to learn english grammar and spelling.

    11. Re:Not a fine art by Desert+Raven · · Score: 3, Informative

      Wow, I agree with Richard on something.

      All programming is a craft. Some of it may be crap, and some may be outstanding, but nonetheless, it is craft. Think of it like woodwork. Some pieces are shoddy little boxes nailed togather with scrap. Others are beautiful and extremely strong, with joints so tightly fit that the only way you even know they are there is by the change of the wood-grain.

      *Some* programming is art. (Not much in my opinion.)

      In addition to being a programmer, I'm a leatherworker. Most of what I do is pure craft, but not necessarily art. Belts, straps, repairs, pouches, etc.

      *Sometimes* what I do is art. These are functional pieces with elaborate carving, painting and even occasionally gold leaf and such. They are one-of-a kind pieces that even if another craftsman copied them, would never be quite the same as the original.

      That said, the vast majority of code out there is not even up to journeyman standards, let alone master-craftsman level.

    12. Re:Not a fine art by Fentex · · Score: 2, Insightful

      I've always liked this definition of art: Art is anything that could be done a different way, the art is in the choice. So most of everything is some sort of art - you could always have chosen something different. Wether or not the art is of any interest to anyone else is a matter of context and opinion. Programming is an art in that choices have to made and they are informed by experience, training and inspiration.

    13. Re:Not a fine art by patio11 · · Score: 2, Funny

      ...and crashes when any dog gets a straight flush in clubs, or is an instance of chihuahua.

    14. Re:Not a fine art by shitdrummer · · Score: 2, Interesting

      When you have to take functionality into account, it often kills the artistic side of the creation.

      That would mean that architecture, furniture design, etc lacks in the artistic side? I dont think this is the case at all - giving something functionality doesnt remove the artistic side, they complement each other and are not mutualy exclusive.


      Well, if I take a piece of wood, place it on 4 other pieces of wood and call it a table, is that art? However if I select a nice big tree and carve an ornate table out of it, yes I can see that as art.

      Similarly, if I design a block of square flats without much care for aesthetic appeal, I don't consider that art. But I would class the design of the Sydney Opera House as art.

      Art is very subjective. Someone (can't remember who) placed a toilet behind one way mirrors in the middle of a European city and called that art. Not my cup of tea, but again, it's all subjective.

      I personally believe that art is an attempt to convey a personal feeling and/or message (no, not email or popup errors :-) to others. If you set out to do this with any project I believe it can be considered art.

      Shitdrummer.

    15. Re:Not a fine art by Mingco · · Score: 3, Funny
      Paraphrasing the czech theorist Jan Mukarovsky[1]: art is when the aesthetic function is greater than all other functions.
      Paris Hilton serves no function. Although Paris Hilton's aesthetic function is low, all other functions are even lower. By Jan Mukarovkey's definition, Paris Hilton is art.
    16. Re:Not a fine art by Jackmn · · Score: 2, Insightful

      A paintbrush can be employed in both a purely practical manner, and in a purely aesthetic manner. This does not affect the practicality of the end result. That is decided by the manner and intent with which the artist or tradesman employs it.

      The instructions in this case are not practical, since there is no practical intent behind them, nor is anything practical accomplished. The CPU, much like a paintbrush, is neither practical nor impractical on its own. It is simply a vessel through which the intentions of the programmer - practical or otherwise - are expressed.

    17. Re:Not a fine art by rozz · · Score: 2
      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."

      Programming is same as Architecture - engineering with a decorative and creative touch ... and just as an architect can design a non-functional space for the pure beauty of it, a programmer can write an entry for the obfuscated-code contest :)

      --
      "There is nothing more frightful than ignorance in action." Johann Wolfgang von Goethe
    18. Re:Not a fine art by hesiod · · Score: 2, Insightful

      > If you'd have said [...] "Mazda Miata", then

      Then you'd be wrong. The Miata is a fugly car, IMO. The Z4 is OK looking, but the Miata was definitely built for women. It is far too small, has no spectacular features, and hasn't changed its basic style (which is certainly basic) since it was introduced, except for the depressed hood and headlight restyling in the 2nd Gens.

      It looks like a chopped-up Saturn!

  2. Both! by ssimontis · · Score: 4, Interesting

    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
    1. Re:Both! by Triggnus · · Score: 2, Insightful

      I agree. I feel that even the most menial chore can be done artistically. And there is a certain "art" to making code elegant and functional. The same applies to math, science and other highly techical things.

      --
      The belief that you know a thing is a most perfect way to prevent learning.
    2. Re:Both! by kat11v · · Score: 2, Interesting
      Speaking as someone who is (from what I can tell) that rare combination of artist by night and developer by day, I think the dividing line between the two is more narrow than we realize.

      From my experience, art, or at least painting/drawing, involves a lot of formula technique than meets the eye. Say, for example, that you're drawing a red object. What happens is: after staring at it for a while, your eye will start to produce an after-image, in the "opposite" colour (a kind of greenish tint, in this case). So the red starts to look less red and more grey. Solution? When drawing, constantly compare the colour of the object. Is it as light/dark as the one next to it? What about compared to the background? Likewise with shading and light. You get shadow at the bottom of the object if the light is shining from the top, but you will also get some reflected light from the surface on which the object is sitting on. The more reflective it is, the brighter the reflected light, and thus the lighter that shadow on the bottom will be.

      Looking at the opposite end of the scale, I still remember sitting back after hours of coding looking stuff up, redesigning, rewriting functions, and thinking "Man, this is beautiful!" (For enquiring minds - it was a perl script for parsing multiple/irregular format reports).

      P.S. I still haven't put up the site for my latest coding project but here's the art gallery. Hmm... wonder if enough people will care that it will get /.'ed.

  3. Drivel by bgog · · Score: 2, Insightful

    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.

    1. Re:Drivel by slavemowgli · · Score: 4, Insightful

      If coders *only* do what they must to get the job done, then how do you explain Perl poetry, for example? What about Perl golf?

      How about things like quines, or programs that are valid and working programs in more than one language at once?

      Aren't these things art? If not, why not? A programming language is, per se, just a tool - just like a brush. You can use brushes to simply coat things with paint, and there are many people who do just that for a living; but you can also use them to create art. The same goes for programming languages, doesn't it?

      --
      quidquid latine dictum sit altum videtur.
    2. Re:Drivel by Tyler+Eaves · · Score: 4, Insightful

      What should problem happen is a split.

      Have to programs, "Comp Sci", which would remain what is is, and "Programming" which would focus much more on "real world" issues. Think of it kinda like Physics vs Engineering.

      --
      TODO: Something witty here...
    3. Re:Drivel by bgog · · Score: 2, Insightful

      Ok it's art. My point is that it's a question and classification that serves no useful purpose. I wasn't arguing that it isn't art.

    4. Re:Drivel by BiggerIsBetter · · Score: 2, Interesting

      Been there done that.

      Got myself a Bachelor of Business Computing (they've since renamed it...) from a local school. It covered some Business Stuff, OO, Design Patterns, Project Management, Usability, Extreme Programming, and similar. Had a couple of pure language classes too. Had I done Comp Sci, I think I'd be a more l33t coder, but this set me up to be far more useful in the Real World. We'll just have to wait for the established Universities to make this kind of move.

      --
      Forget thrust, drag, lift and weight. Airplanes fly because of money.
    5. Re:Drivel by MissP · · Score: 2, Insightful

      Oh that's just BS. Janitors require skills, just not ones that need a lot of time to develop. SW engineers can, and are, replaced as easily as janitors. That is why outsourcing of programming jobs is proving so successful.

    6. Re:Drivel by AvantLegion · · Score: 3, Funny
      >> how do you explain Perl poetry

      Geeks without dates.

    7. Re:Drivel by Tim+C · · Score: 2, Insightful

      It's an interesting diversion to while away a few minutes with in between tasks, or over lunch or whatever. A rest for the mind, allowing it to return to more pressing matters refreshed. Isn't that purpose enough?

      If people only did that which served a useful purpose, life would be a much poorer thing, I think.

  4. Well... by Donniedarkness · · Score: 5, Funny

    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
  5. Emotion? by Anonymous Coward · · Score: 3, Insightful

    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?

    1. Re:Emotion? by rbarreira · · Score: 2, Insightful

      Good art communicates that which cannot be said.

      So a book of poems or prose can never be good art?

      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
    2. Re:Emotion? by Joff_NZ · · Score: 3, Funny

      For me, art must express some level of emotion.

      It does. More often that not, code inspires in me pure, unadulterated rage

      --
      The revolution will not be televised. It won't be on a friggin blog either
  6. It's engineering by Anonymous Coward · · Score: 5, Insightful

    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.

    1. Re:It's engineering by BenJeremy · · Score: 5, Interesting

      Well, to some degree, engineering can be art.

      Consider great works of architecture... certainly, the simple task of building a bridge, or some building can result in the most straight-forward, brute-force application of a solution, but the results would not be as elegant or noteworthy.

      Similarly, code can be kludged to hell, lacking any elegance and as a result, impossible to enhance or even maintain... or a software engineer could architect a system that is elegant and even mostly reusable (or even better build such a system out of a large library of code already written).

      Unfortunately, the difference is lost amongst probably 80% of the "programmers"
      out there, who have more of an attitude of "get 'r done" and "if it ain't broke...". We talk about patterns, algorithms, processes to developing solid applications and systems, but end up dealing with managers or clients who couldn't give a rat's ass about it until a quality audit is announced.

      I know a handful of very talented engineers who can design "on the fly" - elegant design work, and as a bonus, they know the engineering side, as well. Put the two together, the SCIENCE of applying basic engineering principles, along with the ART of intuitively understanding the best flow of an application, and you've got solid code.

      To put it another way, I've seen guys who know the process side of software engineering inside and out - but couldn't code their way out of a paper bag, and certainly cannot architect a real software system. They know the science, but lack the artistry (i.e the creative thinking).

    2. Re:It's engineering by yoha · · Score: 4, Insightful

      it's the architecture of a bridge that's art. the engineering is science.

    3. Re:It's engineering by Bob9113 · · Score: 2, Interesting

      same as code, it's just people don't like looking at code as engineering for some reason.

      One of the core differences that makes it so hard to compare software engineering with other engineering disciplines (particularly bridge building and building building) is that software is fundamentally more malleable.

      If you build a condominium, then decide you want the first floor to be six feet taller, it is exceedingly expensive to change it. Furthermore it is obvious to the layman why it is expensive to change it, and why trying to bodge in a "quick fix" will result in an unstable building.

      Contrast this with software. Well designed software can often have the first floor wiped out and replaced in a matter of hours or days, without having any adverse effects in the rest of the system - but not always. And it is rarely obvious to the layman why something is expensive to modify (I just want one more button that does account settlement - why is that so hard?). Heck, problem code is often a surprise to those who are well versed in the field.

      This is particularly common with software that is rushed. You've rushed out a system that is krufty and does not lend itself to modification, and it went so quickly that you've established unrealistic expectations in the customer. The layman asks, "Why, if it only took two weeks to build the entire building, will it take another three weeks to add six feet to the first floor?" It is difficult then to explain to the customer that in your rush to get the first release out, you only used half the required number of studs, and they won't take the load of an additional six feet.

    4. Re:It's engineering by jaguar717 · · Score: 2, Interesting

      There isn't a dichotomy... Form Follows Function...it's the combination of Style and Substance that makes the bridge (building, supercar, program, watch) a cohesive work. Every line (of the bridge, Ferrari, or code) is both attractive and necessary...there is no excess, nothing thrown in without reason, and that's what makes it elegant.

    5. Re:It's engineering by maxume · · Score: 2, Interesting

      Engineering is engineering. Sure there is lots of cross talk between engineering and science, you can't do one without the other and all that, but engineers don't really care that much about stuff that doesn't help them get the job done. If it's right enough, it's right enough. That is anethma to science, but the basis of engineering. Call it the sensible, well understood application of scientific knowledge.

      --
      Nerd rage is the funniest rage.
    6. Re:It's engineering by JoshWurzel · · Score: 2, Insightful

      As a professional Mechanical engineer, I *hate* it when average code monkeys call themselves "software engineers". I'm sorry, but engineers perform analysis. *Mathemetical* analysis. Some software engineers do this: they develop algorithms to optimize code and prove that they work. Most programmers don't. I'm sorry, but if you don't analyze your work to prove that it works, you don't get to be an engineer. Having QA people push buttons until something breaks is testing, not analysis.

      Also, engineers have responsibility. I've spoken to high ranking programmers at prestigious silicon valley companies, and one actually said "I could put in code that EATS BABIES and I would never get fired for it. Even if someone went line by line through the code and caught it, I'd never get in trouble for it because we have so many levels that everything has to pass through and be signed off on."

      I don't understand that. If I designed some widget that exploded, I would get in trouble. Certified engineers have it even tougher, they can lose their license if they screw up. Engineers have responsiblity after their ship date, programmers don't seem to have that care.

      In short, it is not engineering. Its an art. A special kind of art, one that I cannot possibly perform, but art nonetheless.

    7. Re:It's engineering by hpxchan · · Score: 2, Funny
      To put it another way, I've seen guys who know the process side of software engineering inside and out - but couldn't code their way out of a paper bag
      Well, if I was stuck in a paper bag, I know I certainly wouldn't be able to "code" myself out of it.
    8. Re:It's engineering by CausticPuppy · · Score: 2, Insightful

      Consider great works of architecture... certainly, the simple task of building a bridge, or some building can result in the most straight-forward, brute-force application of a solution, but the results would not be as elegant or noteworthy..

      I don't think building a bridge can be considered "simple" but that's not my point.

      Expanding on the bridge / software analogy, a bridge would not be nearly as beautiful to look at if:

      1) The load requirement was doubled halfway through the project
      2) To pay for #1, you are asked to save money by building fewer support columns (which you've already constructed)
      3) 12 months after construction begins, the specs change and you must now include train tracks
      4) Near the end of the project: the customer just got new boats, and they won't fit under the bridge, can you make it a drawbridge? We can allow another 2 months for this last-minute addition...

      --
      -CausticPuppy "Of all the people I know, you're certainly one of them." -Somebody I don't know
    9. Re:It's engineering by uncqual · · Score: 2, Interesting
      I don't agree that software development requires mathemetical [sic] analysis to qualify as "engineering" - partially because Merriam-Webster Online (MWO) does not! Good engineering includes adhering to standards and communicating precisely, so let's look at MWO:

      engineer: (3)(b) a person who is trained in or follows as a profession a branch of engineering

      while...

      engineering: (2)(a) the application of science and mathematics by which the properties of matter and the sources of energy in nature are made useful to people (b) the design and manufacture of complex products - software engineering

      [The phrase "software engineering" above is really in angle brackets, but I've not figured out how to include literal angle brackets here]

      In high risk applications (for example, most structural engineering, avionics software, and some medical software), it is appropriate to do more analysis than in low risk applications where the impact of failure is minimal (and, at worst, likely only financial). This is true when designing both software and, for example, structures. However, it is the nature of software that the cost of failure is low in most cases while in structural engineering, the opposite is true - I would assume that mechanical engineering falls between the two. Just as it would be inappropriate for a structural engineer who is designing a fence to contain a domestic canine to spend twelve person months analyzing the soil, wind loads, native fungi, and dog body momentum to design a fence that can be "proved" to last fifteen years without repair (assuming that is the requirement), it would be inappropriate for a software engineer developing a specialized word processor to spend a similar amount of time to prove that there would be no gui-poo left over in any situation. One of the most important parts of all engineering is making appropriate cost/benefit tradeoffs - the ultimate goal is to produce something, not to analyze it forever. You don't indicate what sort of mechanical engineering you do, but my experience with mechanical engineering jobs is that the engineer is often expected to make professional, non mathematical, judgments about what needs to be analyzed to what degree.

      Regarding the assertion "I'm sorry, but if you don't analyze your work to prove that it works, you don't get to be an engineer."... Actually, most of the analysis done by structural engineers, and I suspect others, proves nothing about how the resulting product will perform. Most of this work is based on "givens" that the engineer assumes (such as elasticity or strength of a material) and models of the real world that are not completely accurate. As well, think about it, when was the last time you saw a mathematical proof in a mechanical design - mostly the academics measure, evaluate, and build models that "engineers" then crank through to make sure that this walkway won't collapse or this shaft won't shear under these loads. Software development, still in its relative infancy, lacks most of these models. My understanding is that models utilized in the design the Tacoma Narrows suspension bridge that collapsed in 1940 were lacking sufficient modeling of dynamics - yet surely you would consider those who designed the bridge "engineers" even though turning the crank on established practices (rather than proving that the bridge would "work") resulted in a failure?

      It is patently untrue that, in general, software engineers are not accountable for their work. Maybe this is true in some companies or environments, but I've personally gotten rid of software engineers for poor quality work and I've seen many others take the plunge as well - including for a single error which cost a customer a lot of money due to a wrong answer (no injury or loss of life was involved!). I can also assure you that it is common for software engineers to retain significant responsibility for the product after it releases. First, they have

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
  7. Similar: Is an essay art? by mister_llah · · Score: 4, Insightful

    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 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) ... you have very few who understand it... and not a lot of people who care a lick about it.

    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/
  8. What is art? by oliverthered · · Score: 2, Informative

    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.
    1. Re:What is art? by postgrep · · Score: 3, Funny

      My perl code looks way sexier than Britanny Spears, how come IT didn't win one of the 50th sexiest people?

  9. The Perfect Slashdot Story by DanielMarkham · · Score: 4, Insightful

    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

  10. No, it's a craft by Linus+Torvaalds · · Score: 3, Insightful

    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.

    1. Re:No, it's a craft by crazyphilman · · Score: 2, Insightful

      If you think about it, programming is most similar to architecture or civil engineering. It has strong engineering elements, but at the same time, offers a tremendous amount of room for personal expression, and is one of those things in which talent matters more than anything else.

      Think about a large engineering project like the Brooklyn Bridge. The lead engineer designed the bridge to be not just functional but beautiful as well. Or consider something like the Guggenheim, in which the architect didn't just build a safe building, he built it in such a way that it would shape the way in which people could view the art it held.

      Software development works the same way. You're not just building something functional, you're shaping a user's experience, and creating something that is (hopefully) aesthetically pleasing.

      Of course, as I said, some talent is required, and as with most things, 99% of what you see is pure crap. There's one Guggenheim, but there are a million strip malls. But that's life I guess. ;)

      --
      Farewell! It's been a fine buncha years!
  11. CS is science. Design is art by AuMatar · · Score: 5, Insightful

    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?
  12. Of course it is ... by YankeeInExile · · Score: 2, Insightful

    ... there was no question in my mind. And, tying to another thread some months ago, it is what differentiates the mere coder from the true hacker. To draw an analogy to the painter: On the one hand you have Hank the Housepainter, and on the other hand you have Michelangelo. They both apply paint to surfaces, and as good a housepainter as Hank ever becomes, he will never be an artist.

    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?
  13. Code as art. by kesuki · · Score: 2, Interesting

    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..

  14. Art is as Art does by ScentCone · · Score: 4, Interesting

    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.
  15. The Recurring Three Words by Quirk · · Score: 2, Insightful
    Rigor

    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
  16. 2 more actualy by dnamaners · · Score: 2, Insightful

    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.

  17. When it comes to art... by Shadow+Wrought · · Score: 2, Insightful

    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?
  18. Bill Budge's poetry in named variables by RobotWisdom · · Score: 2, Interesting

    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.

  19. It's not art by brkello · · Score: 3, Insightful

    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
    1. Re:It's not art by mjkjedi · · Score: 2, Insightful
      But programming is definitely a science. The thing is, that as programmers, we can recognize beauty in the design and implementation of a program.

      As you say, all scientists can find beauty in their field. And isn't recognizing beauty making an aesthetic judgement that suggests there is an artistic element in what's being judged? E.g., the most efficient algorithms may not be the most elegant. (Define "elegance" -- it's a subjective aesthetic judgement, just like beauty. That's not to say that subjectivity necessarily == art, though. But the aesthetic element certainly suggests art.)

      Furthermore, is science necessarily mutually exclusive with art? Remember, this art/science dichotomy is a fairly recent invention of western society. Sometime during the Enlightenment, I believe, we started deciding that they were separate things.

      I found the whole article a little strange, because the author didn't spend nearly enough time trying to pin down a solid definition of art, which is what the entire thing depends on. I think we all agree on what programming is -- we just don't agree on what art is.

  20. "Programming" is not an art, but hacking ... by GNUALMAFUERTE · · Score: 2, Interesting

    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?
  21. depends on your language by The+Pim · · Score: 2, Interesting
    One of the responants, Erik de Castro Lopo:
    Programming OTOH is tightly restrained by what our programming languages actually allow us to do.
    Hmm, I wonder what programming languages he uses? Oh: "coauthor of C for Linux Programming in 21 Days". I prefer to use languages that don't tightly restrain me, and can be more creative that way.

    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.
  22. It used to be! by callipygian-showsyst · · Score: 2, Interesting
    Back in the day when "computer programmers" had degrees in mathematics and not "information systems", it was art.


    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.

  23. When will people realize.. by Anonymous Coward · · Score: 2, Interesting

    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.

  24. Programmers come from vastly different backgrounds by 5n3ak3rp1mp · · Score: 3, Insightful

    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.

    Unlike a lot of coder geeks I know, though, I got A's in advanced english classes, AND art classes ;) 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... ;)

    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 ;)

  25. programming is like architecture by edwinolson · · Score: 2, Insightful

    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.

  26. What would Mozart have thought? by blackhedd · · Score: 4, Insightful

    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!

  27. Art Is What You Can Get Away With by Doc+Ruby · · Score: 2, Insightful

    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

  28. View of a BS + BFA by tverbeek · · Score: 2, Insightful
    Way back when I was getting my degree in CS, I opined that it wasn't really a "science" degree, because there was obviously (to me, at least) a lot of creativity involved in the field. Not just in terms of interface design and making pretty widgets (which weren't really taught in those pre-MS-Windows, Mac 128K days), but even something as mundane as code formatting had an aesthetic aspect to it. (I thought the way one of profs formatted his code was ugly; I insisted on defying his example.) And although sorting algorithms and such could be ranked mathematically, many of the choices of how approach a problem seemed creative to me.

    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/
  29. Re:programming and music by blackhedd · · Score: 2, Interesting

    Improvisation may be an interesting way of producing pieces of immediate performance art in small forms. And it was considered an essential skill in music pedagogy through the eighteenth century. But it's the wrong way to write larger forms like symphonies. Large software systems are more like symphonies than jazz-sets. They require a lot of long-range planning. The great symphonists of the nineteenth and early twentieth centuries had an incredible gift for long-range thinking, combined with an unbelieveable ability to keep all of a large production in their heads. Here's a possible clue to the required mental equipment: there are anecdotes about most of the the great composers regarding their prodigious, almost inhuman memory-power.

  30. I've seen code burning off the shores of Orion by WillAffleck · · Score: 2, Insightful

    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
  31. I grew up in a family of artists by under_score · · Score: 2, Insightful

    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.

  32. More of a continuum. by khasim · · Score: 4, Insightful

    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.

    1. Re:More of a continuum. by Politas · · Score: 3, Insightful

      Definitely separate dimensions. More than two, though.

      It's about focus and the amount of care taken. If someone cares about aesthetics, then they tend to make more aesthetic things. If they care about functionality, then they will make things with greater functionality. If they care about robustness, they will make things that are more robust. If they care about speed, they will make things faster. If they care about cost, they will make things more cheaply. Not all of these things can be combined, of course.

      --

      Politas

  33. SCOTUS ruling on the definition of Art by sakusha · · Score: 2, Interesting

    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.

  34. Didn't Knuth answer this already? by John+Jorsett · · Score: 3, Informative
  35. Howard Rourke programmer: by smittyoneeach · · Score: 2, Interesting

    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
  36. Why choose? by thomasoa · · Score: 2, Insightful

    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.

  37. Programming Is Zen Painting by Greyfox · · Score: 2, Insightful
    I feel that programming, when at its most artistic, is very similar to Zen painting. In Zen painting you strive to express the inner nature of your subject in as few brush strokes as possible. With programming you strive to express the inner nature of the work to be done in as few expressions as possible. And if you don't, some guy hits you with a bamboo stick until you get it right. Very similar...

    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?

  38. Programming and art meet.. by Various+Assortments · · Score: 2, Interesting

    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.

  39. Re:ENOUGH IS ENOUGH! by snorklewacker · · Score: 2, Insightful

    > I don't have a degree. But seriously just what does having that piece of paper mean in an industry that can change many times a year.

    I still can't get the scriptmonkeys around here to grasp the notion of structured programming, let alone OO or functional. The state of the art does not evolve as much as the industry likes to pretend it does. Just because they rev the apps every couple years does not mean the whole industry changes.

    --
    I am no longer wasting my time with slashdot
  40. That's funny by commodoresloat · · Score: 2, Funny

    I didn't know Jackson Pollack was an "artist" .... I just thought he was a shitty painter.

  41. Misleading Question by voidphoenix · · Score: 3, Insightful

    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.

  42. Dance and art by falconwolf · · Score: 3, Interesting

    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.

    Falcon
  43. Most of us try to achieve artistic code by IronNerd · · Score: 2, Insightful

    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.

  44. Programming is Art. by Metex · · Score: 2, Interesting

    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.
  45. construction work. by infiniter · · Score: 2, Interesting

    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.

  46. The programmer as an artist, not as a technician by pvera · · Score: 2, Insightful

    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
  47. My view of art by Anthony · · Score: 2

    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
  48. More Drivel: by Boronx · · Score: 2, Insightful

    Coding is technical. User interface is an art, debugging is an art, optimization is an art.

  49. Art by Caligari · · Score: 2, Insightful
    There is no concrete definition of what is art. The Modernists spent their time negating every successive art movement. You think that art has to be beautiful? Baudelaire showed us that art could be about the ugly too. You think art has to be painstakingly made by masters who dedicated great portions of their lives to painting or sculpting? Duchamp showed us that art could be regular industrial products like urinals and snow shovels (the readymade). Warhol took this a step further by becoming the industry himself (his famous gallery/workshop known as "The Factory"). Today, you can buy socks and postage stamps - each one a work of art! - from the great contemporary artist Ben Vautier.

    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.
  50. Will inspired programming be recognised? by ockegheim · · Score: 2, Interesting
    An artist can break rules in an inspired way and receive the highest praise for it--but sometimes only after they've been dead for a long time.

    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”
  51. Here's an idea - by skazatmebaby · · Score: 2, Insightful

    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?

  52. Yes by cspring007 · · Score: 3, Informative

    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..

  53. Art Is Imagination Followed By Engineering by Master+of+Transhuman · · Score: 2, Insightful


    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!
  54. Appropriate quote from Linus by dkelkhof · · Score: 2, Informative
    This discussion reminds me of a quote I read from Linus Torvalds a number of years ago:
    I consider myself an artist, and [I] do what I love to do. And I don't have to live in squalor, because people pay programmers good sums of money.
    (random interview)

    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.

  55. Author must be a really bad tester ... by lwriemen · · Score: 2, Interesting

    ... 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.