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)

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

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

Collapse
 
inozex profile image
Tiago Marques

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

Collapse
 
peter profile image
Peter Kim Frank

Great answer.

Collapse
 
alex_gallotta profile image
alex

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

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

Collapse
 
niorad profile image
Antonio Radovcic

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

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

Collapse
 
terceranexus6 profile image
Paula

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.

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

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

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

Collapse
 
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: number27.org/works

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

Collapse
 
dmfay profile image
Dian Fay

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.

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