Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Is Programming Art?

Posted by Zonk on Tue Jul 05, 2005 05:17 PM
from the painting-a-good-program dept.
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."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Not a fine art (Score:5, Insightful)

    by fembots (753724) on Tuesday July 05 2005, @05:18PM (#12989346) Homepage
    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.
    • Re:Not a fine art (Score:5, Insightful)

      by SIGALRM (784769) on Tuesday July 05 2005, @05:21PM (#12989375) Journal
      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.
    • Re:Not a fine art (Score:5, Insightful)

      by ShaniaTwain (197446) on Tuesday July 05 2005, @05:23PM (#12989389) Homepage
      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.
      • by khasim (1285) <brandioch.conner@gmail.com> on Tuesday July 05 2005, @06:29PM (#12989814)
        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.
        • by Politas (1535) on Tuesday July 05 2005, @10:31PM (#12991123) Homepage Journal
          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.
    • Re:Not a fine art (Score:5, Interesting)

      by Tackhead (54550) on Tuesday July 05 2005, @05:31PM (#12989472)
      > 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.

    • Re:Not a fine art (Score:5, Interesting)

      by lskutt (848531) on Tuesday July 05 2005, @07:00PM (#12989992)
      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 [ioccc.org]. 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.
    • Re:Not a fine art (Score:4, Informative)

      by Desert Raven (52125) on Tuesday July 05 2005, @07:40PM (#12990222)
      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.
      • Re:Not a fine art (Score:3, Interesting)

        by Com2Kid (142006)
        • 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.

      • Dance and art (Score:4, Interesting)

        by falconwolf (725481) <falconsoaring_2000.yahoo@com> on Tuesday July 05 2005, @07:59PM (#12990343)

        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
  • Both! (Score:4, Interesting)

    by ssimontis (739660) <<scott.simontis> <at> <gmail.com>> on Tuesday July 05 2005, @05:19PM (#12989353)
    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.
  • Well... (Score:5, Funny)

    by Donniedarkness (895066) <Donniedarkness@@@gmail...com> on Tuesday July 05 2005, @05:20PM (#12989360) Homepage
    Programmers do meet one of the requirements that you have to meet to be considered an artist: They make no money.
  • Emotion? (Score:3, Insightful)

    by Anonymous Coward on Tuesday July 05 2005, @05:21PM (#12989373)
    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?
  • It's engineering (Score:5, Insightful)

    by Anonymous Coward on Tuesday July 05 2005, @05:21PM (#12989374)
    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.
    • Re:It's engineering (Score:5, Interesting)

      by BenJeremy (181303) on Tuesday July 05 2005, @05:41PM (#12989544)
      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).

    • Re:It's engineering (Score:3, Interesting)

      by Bob9113 (14996)
      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 i
  • by mister_llah (891540) on Tuesday July 05 2005, @05:23PM (#12989382) Homepage Journal
    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...
  • by DanielMarkham (765899) on Tuesday July 05 2005, @05:24PM (#12989395) Homepage
    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 [whattofix.com]
  • No, it's a craft (Score:3, Insightful)

    by Linus Torvaalds (876626) on Tuesday July 05 2005, @05:24PM (#12989401)

    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.

  • by AuMatar (183847) on Tuesday July 05 2005, @05:24PM (#12989403)
    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.
  • by YankeeInExile (577704) * on Tuesday July 05 2005, @05:25PM (#12989413) Homepage Journal

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

  • Code as art. (Score:3, Interesting)

    by kesuki (321456) on Tuesday July 05 2005, @05:26PM (#12989428) Journal
    http://www.thinkgeek.com/tshirts/coder/321a/ [thinkgeek.com]

    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..
  • Art is as Art does (Score:5, Interesting)

    by ScentCone (795499) on Tuesday July 05 2005, @05:27PM (#12989431)
    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.
  • by Quirk (36086) on Tuesday July 05 2005, @05:29PM (#12989457) Homepage Journal
    Rigor [wikipedia.org]

    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 [wikipedia.org]

    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.

  • Keep in mind that for every Monet, there's half a dozen Thomas Kincaides.
  • by RobotWisdom (25776) on Tuesday July 05 2005, @05:32PM (#12989482) Homepage
    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.
  • It's not art (Score:4, Insightful)

    by brkello (642429) on Tuesday July 05 2005, @05:33PM (#12989493)
    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.
  • by The Pim (140414) on Tuesday July 05 2005, @05:37PM (#12989520)
    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.

  • by 5n3ak3rp1mp (305814) on Tuesday July 05 2005, @05:41PM (#12989547) Homepage
    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 ;)
  • by eolson@mit.edu (116413) on Tuesday July 05 2005, @05:46PM (#12989586) Homepage
    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.
  • by blackhedd (412389) on Tuesday July 05 2005, @05:58PM (#12989604)
    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!
  • by Doc Ruby (173196) on Tuesday July 05 2005, @06:01PM (#12989620) Homepage Journal
    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.
  • View of a BS + BFA (Score:3, Insightful)

    by tverbeek (457094) on Tuesday July 05 2005, @06:06PM (#12989652) Homepage
    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.

  • 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 [kuro5hin.org]. 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.
  • by sakusha (441986) on Tuesday July 05 2005, @06:32PM (#12989837)
    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.
  • by John Jorsett (171560) on Tuesday July 05 2005, @06:39PM (#12989879)
  • by Greyfox (87712) on Tuesday July 05 2005, @06:54PM (#12989961) Homepage Journal
    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...

    • Re:Drivel (Score:5, Insightful)

      by slavemowgli (585321) on Tuesday July 05 2005, @05:24PM (#12989396) Homepage
      If coders *only* do what they must to get the job done, then how do you explain Perl poetry [perlmonks.org], 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?
      • Re:Drivel (Score:5, Insightful)

        by Tyler Eaves (344284) on Tuesday July 05 2005, @05:32PM (#12989481)
        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.
    • 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 unbelieveabl