DEV Community

Cover image for Is Coding an Art?
Christian Vasquez
Christian Vasquez

Posted on

Is Coding an Art?

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 programmer to becoming a great one, in which one of the speakers shared his opinion with the public with the question you read on the title...

Yeah, yeah, yeah, I know that we should know about DRY, KISS, SOLID, and a bunch of other principles or best practices to achieve the coding "Valhalla", but... is it true there is absolutely no creativity involved into coding?

The speaker's opinion can be resumed into:

"Things like design patterns and certain rules restrain us (programmers) from doing any kind of art form."

And no, this is not related to what the outcome might be, like a video game or an app, try to focus on the code itself.

Top comments (24)

belinde profile image
Franco Traversaro

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.

nektro profile image
Meghan (she/her)

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.

inozex profile image
Tiago Marques

«We write novels for the computer.»
Love it!

peter profile image
Peter Kim Frank

Great answer.

alex_gallotta profile image

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

alainvanhout profile image
Alain Van Hout • Edited

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

niorad profile image
Antonio Radovcic

I'd say you're describing a craft, rather than art.

alainvanhout profile image
Alain Van Hout

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.

terceranexus6 profile image

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.

lerno profile image
Christoffer Lernö

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.

chrisvasqm profile image
Christian Vasquez • Edited

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.

dougmckechie profile image
Douglas McKechie

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

rhymes profile image
rhymes • Edited

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:

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

dmfay profile image
Dian Fay

Here's a great talk about this from Felienne Hermans:

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.

leualemax profile image
Leonardo "Alemax" Fonseca Ferreira • Edited

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.

eugnotnybbor profile image
Robbyn Tongue

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.

niorad profile image
Antonio Radovcic • Edited

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!


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.

pedromagalhaes profile image
Pedro Magalhães • Edited

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

chrisvasqm profile image
Christian Vasquez

Love this reply!

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

kspeakman profile image
Kasey Speakman

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.

rgo profile image

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 👨‍🎨