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

7 of 462 comments (clear)

  1. 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
  2. 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.
  3. 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.

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

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

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

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