wyrd Posted June 21, 2003 Posted June 21, 2003 From architecture/design all the way to coding/debugging. Do you think in this day and age that software construction is an art or just a mechanical process? I have yet to come up with a concrete answer of my own, but am curious as to what others think. Quote Gamer extraordinaire. Programmer wannabe.
*Experts* Merrion Posted June 22, 2003 *Experts* Posted June 22, 2003 It is, in the more old-fashioned meaning of an art :- that which is practiced by artisans not that which is practiced by artists. Quote Printer Monitor for .NET? - see Merrion Computing Ltd for details
*Gurus* divil Posted June 22, 2003 *Gurus* Posted June 22, 2003 I would certainly call *my* code art :P Quote MVP, Visual Developer - .NET Now you see why evil will always triumph - because good is dumb. My free .NET Windows Forms Controls and Articles
Moderators Robby Posted June 22, 2003 Moderators Posted June 22, 2003 I see most of my code as art. Quote Visit...Bassic Software
Leaders Banjo Posted June 22, 2003 Leaders Posted June 22, 2003 Divil: So long as it doesn't become modern art then your ok. ;) Quote Those who live by the sword get shot by those who don't!
*Gurus* Derek Stone Posted June 22, 2003 *Gurus* Posted June 22, 2003 So long as it doesn't become modern art I'd post Tim's code on my wall... But yes, some developers are artists. Other's best stick with finger paint. Quote Posting Guidelines
wyrd Posted June 22, 2003 Author Posted June 22, 2003 I pulled the definition of art and mechanical from http://www.m-w.com to help those who may not understand exactly what I'm talking about. EDIT: I bold/italic'd the important parts. Art "Pronunciation: 'ärt Function: noun Etymology: Middle English, from Old French, from Latin art-, ars -- more at ARM Date: 13th century 1 : skill acquired by experience, study, or observation <the art of making friends> 2 a : a branch of learning: (1) : one of the humanities (2) plural : LIBERAL ARTS b archaic : LEARNING, SCHOLARSHIP 3 : an occupation requiring knowledge or skill <the art of organ building> 4 a : the conscious use of skill and creative imagination especially in the production of aesthetic objects; also : works so produced b (1) : FINE ARTS (2) : one of the fine arts (3) : a graphic art 5 a archaic : a skillful plan b : the quality or state of being artful 6 : decorative or illustrative elements in printed matter synonyms ART, SKILL, CUNNING, ARTIFICE, CRAFT mean the faculty of executing well what one has devised. ART implies a personal, unanalyzable creative power <the art of choosing the right word>. SKILL stresses technical knowledge and proficiency <the skill of a glassblower>. CUNNING suggests ingenuity and subtlety in devising, inventing, or executing <a mystery plotted with great cunning>. ARTIFICE suggests technical skill especially in imitating things in nature <believed realism in film could be achieved only by artifice>. CRAFT may imply expertness in workmanship <the craft of a master goldsmith>." Mechanical "Pronunciation: mi-'ka-ni-k&l Function: adjective Date: 15th century 1 a (1) : of or relating to machinery or tools <mechanical applications of science> <a mechanical genius> <mechanical aptitude> (2) : produced or operated by a machine or tool <mechanical power> <a mechanical refrigerator> <a mechanical saw> b : of or relating to manual operations 2 : of or relating to artisans or machinists <the mechanical trades> 3 a : done as if by machine : seemingly uninfluenced by the mind or emotions : AUTOMATIC <her singing was cold and mechanical> b : of or relating to technicalities or petty matters 4 a : relating to, governed by, or in accordance with the principles of mechanics <mechanical work> <mechanical energy> b : relating to the quantitative relations of force and matter <mechanical pressure of wind on a tower> 5 : caused by, resulting from, or relating to a process that involves a purely physical as opposed to a chemical change <mechanical erosion of rock> synonym see SPONTANEOUS - me·chan·i·cal·ly /-ni-k(&-)lE/ adverb" Quote Gamer extraordinaire. Programmer wannabe.
wyrd Posted June 22, 2003 Author Posted June 22, 2003 Okay.. I have my opinion to my own question now. Is it an art or mechanical process? I'd have to say art. In this day and age it's definitely starting to become more of a mechanical process, with reusing objects (either through libraries or buying), great IDEs such as what .NET provides, error checking that is done for you by compilers with the new languages compared to the minimal checking that was done back in the day of old C compilers. Heck, we even now have visual aids where we can just drag-n-drop components on to our form and hit compile to finish. All of these things are related to machinery or tools, they are produced by a machine and tool, are manual operations, done without thought or emotion, and definitely are "petty" (seriously, most things seem to be done for you). However, that's just not the case. Sure, to an untrained newcomer to the world of programming this may seem so. If we look deep into the world of software construction, we'll see that it all comes down to the power of choice, which ultimately in the end gives us skill which is produced by experience, study, or observation. Sure there may be class libraries full of premade classes and objects for reuse, but which ones do you use that best fits the problem at hand? How about deciding how these objects interact with one another beyond the basic abractions of which they were built upon? Only experience can tell you, and that's the art of design. Compilers may detect more "mechanical" errors for you, but what about the human errors or simply doing a wrong calculation of 1+1 instead of 1+2, which gives you incorrect results when running the program? Past experience is involved in knowing and figuring out how to easily find and fix these pesty human errors. The art of debugging so to speak. There is the art of coding, which can never be done by a machine no matter how high level the language is. Choosing the right variable names, method names, or class names, the choice of making one long method or breaking it into several highly cohesive methods, and coding in such a way that changes can be made with ease without having to rebuild half the program. Last but not least, there is the true guru artistist which can not only solve the current problem elegantly, but also do it in such a manner that they can reuse parts of the current solution in another problem. Quote Gamer extraordinaire. Programmer wannabe.
Heiko Posted June 24, 2003 Posted June 24, 2003 Following your definition I must admit it is an art. Some people can "see" algorithms, some can't. What I dislike about the art metaphor is the underlying notion of "total freedom of expression". In (the fine) arts, there are no rules. Art is an expression of individualism. I don't wan't to see that much art in my projects :-) Quote .nerd
*Experts* DiverDan Posted June 25, 2003 *Experts* Posted June 25, 2003 Well, if you call it art, then it is art. You might be challanged by non-programmers, but your thoughts are all that really matter anyway. DiverDan.MFA (master of fine arts) Quote Member, in good standing, of the elite fraternity of mentally challenged programmers. Dolphins Software
*Experts* Nerseus Posted June 27, 2003 *Experts* Posted June 27, 2003 My code is easy to read and efficient - but it's more of a means to ends than an art. Maybe the process of getting the code in the final state (production code) is an art. But that's more the process as an art (including debugging, UI design tweaking, etc.), not really the code itself. I've changed my mind over the years. Once upon a time I thought of it as sculpting - carving out a program using nothing but the IDE's text editor. Now I see it as more functional - a process more than art. But it's a fine line, in my opinion. I don't really care what it's called anymore (artist, programmer, developer, architect), as long as I have fun and the client loves it (more or less my two rules). -Nerseus Quote "I want to stand as close to the edge as I can without going over. Out on the edge you see all the kinds of things you can't see from the center." - Kurt Vonnegut
georg Posted July 2, 2003 Posted July 2, 2003 It's definitely an art. As far as being Art (which is how some people have interpreted the question): It's a strange kind of art that no-one should see. Then again, if Tracy Emin can call it art, then so can we. Quote
*Experts* Nerseus Posted July 2, 2003 *Experts* Posted July 2, 2003 In my opinion, this is close to art. Of course, figuring out how to compile C from the command line and/or interpreting the code itself on that site is also an art (though one I'd rather enjoy from afar, like a movie). -Nerseus Quote "I want to stand as close to the edge as I can without going over. Out on the edge you see all the kinds of things you can't see from the center." - Kurt Vonnegut
PhilBayley Posted July 14, 2003 Posted July 14, 2003 Umm as far as Art goes I am more autistic than artistic. IMO I would say that coding is just a logic thing and as long as you can make decisions and learn a little syntax, you will go far and earn a lot of money. If you are no good at learning syntax the hardest thing is knowing which bit of code to knick! :D Quote
RazerWriter Posted July 25, 2003 Posted July 25, 2003 Think of it as building a house.. could be a shack (a simple utility) he he, or mansion. You have to starthe from the foundation and build up.. that's where the human mind can get creative. Well.. let's see.. where do I start? What is the foundation of the program what do I build upon? Also like: - Building a car (parts as classes, engine code, compents, and interface) Well.. you get the picture. Software construction is more of an art in the mind than on (white) paper. The results are just instructions, design outlines, comments, and structures, but they way they got like that came from a mind or group of minds that imaged a specific format or way on how to build a program.. now that's creativity!! Quote
Bobh Posted July 30, 2003 Posted July 30, 2003 It's close to art, but not exactly. More or less, it's a collection of skills in most cases. I voted for "Yes", but it's a little bit sarcastic, actually. I wanted to say, "My life would be easier if software construction were truly engineering" Quote
jorge Posted August 4, 2003 Posted August 4, 2003 Lets ask What is art? Somting you creat, With your ahnd(keybaurd) and it come out of inspiration, so 'id say yes :p Quote Jorge - http://www.blackdot.be/?page=apache.htm
KenpoMatt Posted August 6, 2003 Posted August 6, 2003 I believe it is an art. Or, I believe we strive to make or work functional art. It seems that most experienced developers I know strive for "elegant" solutions. Elegance inherintly speaks to taste, polish, beauty, form and style. That sounds like art to me. Here's the real question? What sort of artist are you? Baroque? Minimalist? Impressionist? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.