DEV Community

Discussion on: Is programming an art?

Collapse
 
rhymes profile image
rhymes • Edited

The first definition defines programming, itself -- the effective application of a body of knowledge, most often using a set of skills. A programmer is the quintessential knowledge worker, and programming is, without a doubt, a skilled craft.

Yeah, programming is definitely a skilled craft.

The second definition doesn't contradict programming as an art, either, unless you also use it to claim that things like writing are not art, either. I think here, though, where things get fuzzy is on who is the audience.

I do think there's a difference between artistic writing (there are some who only consider poetry a form of art, not fiction writing, I would include both) and programming. I think there's a difference between the creativity of the creator and the final product. You can be a creative person and not create art, both if you use painting or instructions for a compiler.

Can you create art accidentally? Probably.

But a software product isn't just a pretty UI, it is also the expression of one's creativity. That UI is pretty (and engages the audience's aesthetic sensibilities -- or challenges them) because it's an artistic process. In fact, formally-trained designers have a lot of the same training that formally-trained visual artists get.

Sure! But I don't consider design an art. I think where our definitions don't align is the distinction that I make between the craft itself (programming or design) and the final product. I agree with you that the the code itself doesn't matter (we all agree that you can create a bad user experience with awesome looking code and viceversa).

What I'm tyring to say in my previous comment is that intention is what makes it art. Or at least the desire to self express oneself. If I make an aestethically beautiful design of an interior, am I making art or just beautiful interior design? Same goes for web design, industrial design and so on.

I don't think that a pretty UI is inherentely art, otherwise everything is art because everything is beautiful to someone (or at least we can argu we can find at least a person among the billions we are who would deem a thing beatiful).

Hell, we have entire languages that were written to look good while also doing the work of being a programming language. We have style guides that rival the style manuals for writers in both breadth and depth.

But what does "look good" means? It's also entirely subjective, right? Is this good?

def f():
  print("hello")

so, if this is good to me and you, does it make it automatically art? I don't think so.
Also, you know better than I do that for any single "combined group of text that makes up a unit of work which include statements and/or functions" (let's say a file in a programming language) we can find tons of people who would disagree. I personally think Scala is ugly to read, others might disagree. I don't think we're any closer to the real of art, it doesn't matter who's right on Scala.

And the process for writing code is nearly identical to the process for writing prose (rough draft, edit cycles that include things like removal of superfluous bits and refining other bits, "finished" state).

Again, this to me is skilled craft, not necessarily art. I'm not saying I am right and you are wrong. I'm saying that art is a step forward skilled craft, and it's also mutable in time.

Let's take architecture for example: is the house I'm living in art? Definitely not. If I were living in a Ghery's building would that make me a person living inside a piece of art? Some would say so, others would disagree :-D

This is programming, too, especially when considering those who are programmers by passion. This is also where programming overlaps with other forms of art. In both cases, it's an act of creation, and those driven to such fields are driven to make in general. While one can learn how to be an author or a painter or a programmer without having a passion for it, there's a pretty stark difference between them and the ones who are called to it.

I don't think that passion inherently makes it art though. It makes you a passionate hobbist (or a passionate professional). Otherwise all passionate programmers would be artists, no?

If your passion leads to create art with programming, then it's art, otherwise it's just a (potentially useful) program :-) I put "potentially useful" in parenthesis, not related to art itself, but related to the fact that one could have a tremendous amont of passion towards something and: either not still be good at it, or produce something that doesn't work. After all a program can work or not work.

A piece of art doesn't even have that requirement, it doesn't need to be "practically useful".

I think we can be both right and wrong at the same time though, as there's no strict definition for any of these concepts