Is Coding an Art?

Christian Vasquez on February 28, 2018

I attended a talk at the college I go to that touched a few topics at a high level of how to step up our game from being just a regular programme... [Read Full]
markdown guide
 

Oil painting has rules. Poetry has rules. Any art has rules.
Oil painting could be just technical. Poetry can be just technical. Any art can be just a bunch of technical skills that bring no emotion whatsoever.
Coding CAN be a form of art, but it needs a good knowledge to be appreciated. And I say, a good number of developers aren't able to perceive the art behind the code, when they see it.

 

If coding wasn't an Art, then people wouldn't wouldn't debate about beautiful code. We wouldn't argue about tabs or spaces. We wouldn't debate about readability or extensibility. Coding is very much so an Art. It's just our medium is text. We write novels for the computer.

 
 
 

100% agreed
It's like saying that writers are not artists because they follow orthography

 

Painting requires practiced motor skills, a good sense of how perspective works (so you can either follow it, bend it, or break it in a specific manner), and knowledge of how paint behaves when working with specific brushes, sorts of paint and your canvas.

That's a description of something most people would consider an art. With that I mean to convey that rules, guidelines and requiring certain knowledge isn't at odds with 'art'.

 
 

I'm describing (as specific aspect of) painting, which is generally considered an art. That aspect indeed focuses on things most commonly attributed to a craft. As such, craft and art are not mutually exclusive.

 

I think that coding is an art. Just like a regular writer, our job requires us to express our intentions through symbols that should ultimately be understood by other human beings.

Refactoring our code so it can be concise and elegant, without losing it's readability (often times increasing it), takes serious skills and practice.

 

Coding is a craft. It is wrong to talk about ”creativity”: The main characteristic is the amount of intuitive analysis done when you’ve reached certain levels. At this point our normal vocabulary fails us and we talk about beautiful/simple/clear etc in a way that correspond to the intuitive appreciation of the solution rather than fixed rules.

That said, high quality programming work usually has objectively measurable metrics: ease of maintenance (tracking down bugs, adding features), low bug count, good performance even under load etc

It is only creative in the same sense that any craft can be creative.

It is an art in the same way that any craft at sufficient level of mastery becomes an art.

 

I think a lot of people here has already shared a similar opinion here but my answer would be totally yes. I do oil paining, and illustrating, and also computer engineering, and I think similar in each one of those. As someone already said, everything has rules that allows us to interact with the world. I must even say that computers and virtualization allow us to go further.

You can be a coder and repeat what you learn, copy paste and apply some maths, casually. Or on the other hand learn coding as a tool and create. I think it could be an art if the one coding is an artist.

 

"is it true there is absolutely no creativity involved into coding" - what?

Yes of course there is; I often have to think of creative solutions to satisfy requirements.

Design patterns will only get you so far.

 

I'm sure it can be art, though what I do in my day to day it's definitely not :-)

An artist programmer that I can think of is Jonathan Harris, he does amazing stuff with programming and data:

and many others: number27.org/works

To me he's an artist using data science, programming and his deep love of humanity to make statements.

 

Here's a great talk about this from Felienne Hermans: vimeo.com/223985249

Coding is signification, or meaning-making. It can be art; all art is signification of one sort or another and there's no reason to expect the writing of software among all forms of communication to be uniquely disqualified from being art. Writing elegant code is certainly an art.

But design patterns and "rules" (whatever those are) don't prevent artistic expression either. That's like saying the use of the vanishing point to communicate perspective prevents a work from being True Art, or that Real Poetry can't make use of rhyme and meter now that we've discovered blank verse. It's easy to read between the lines the opinion that the true problem with visitors and factories and mappers and realism in representational art and the division of plays into acts and classical symphonies is that they're boring, which is sometimes but by no means always true & in general is the sort of opinion one holds in order to be controversial without putting much more thought into it. With patterns especially: the reason they exist is that they're useful. Intentionally ignoring an appropriate pattern usage can make your code less useful -- and that's an artistic statement not that many people would want to make.

 

Igor Stravinsky wrote in his Poetics of Music: "My freedom will be so much the greater and more meaningful the more narrowly I limit my field of action and the more I surround myself with obstacles. Whatever diminishes constraint diminishes strength. The more constraints one imposes, the more one frees one's self of the chains that shackle the spirit". So yeah, I think coding is an art, especially because of things like design patterns, rules, and the like.

 

Are we talking about working code?

I'd say code is not art.

Art is there to create problems, code is there so solve them.
Code has to be understandable, art doesn't.
Code needs to work, art doesn't have to do anything.

Coding to me is more like design, than art.

You know, unless there's some really kickass ASCII-Art in the comments, then it's art!

UPDATE:

I just remembered the I-love-you virus from the 90ties.
It was pretty simple and widley discussed also by non-techies.
The source-code was shown in the news.
If code is art, this is it.
en.wikipedia.org/wiki/ILOVEYOU

 

Great question. So this is what the Oxford dictionary has to say about art:

Art: The expression or application of human creative skill and imagination...

In my opinion you don't code to code, but to solve problems. And solving problems usually is a very creative proces. Most problems can be solved in hundreds of possible ways, finding the best takes a lot of skill and creativity.

And besides, my most magical experience when starting to code was that I could build anything I wanted. If that's not imagination I don't know what is 🙌

So, yes. I think coding is art 👨‍🎨

 

Once one of my high school teachers here in Brazil, said to me that art is something that makes people to question, i suppose that if this is true, art is not about the tools that you choose to do something, is about the meaning that you put on it.
Code can be art.

 

Usually when I think of art, I think of something that I experience which produces emotion or contemplation. Most of the time it is not something that you would use in day-to-day life. I wouldn't use a Van Gogh as a drop cloth. I simply examine it.

But coding is generally for the purpose of creating something functional and useful. So no, I would not consider it art. You could create programs with pure artistic value, but I doubt that's what most of us get paid to do.

 

There is art in science. And there is science in art.

 

Love this reply!

If you don't tweet that, I'll have to.

 

To prove that coding is indeed an art, I've no arguments - just an example of a coding project which, to me, is pure art and nothing else. I mean, of course, JSF*ck: jsfuck.com/

 

Coding is a creative activity but it is not art. Problem solving in general requires creativity but that is not the same as artistic creativity.

 

The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures....
Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. […] The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.

-Fred Brooks
(Author of 'The Mythical Man Month' and Brooks law)

You can't tell me he's not talking about artistic expression here.

 

Code is about problem solving which reguires a great deal of creativity. So it is absolutely an art form. The same goes for math or any kind of science for that matter.

code of conduct - report abuse