loading...

re: Is programming an art? VIEW POST

TOP OF THREAD FULL DISCUSSION
re: Great question Néstor! TLDR; Sometimes? Probably not most of the time. You can use programming to create art, programming itself... not really Di...
 

I don't think any of what you've put here is at odds with the idea that programming is an art unto itself. In fact, I think most of it supports the idea.

By its original and broadest definition, art (from the Latin ars, meaning "skill" or "craft") is the product or process of the effective application of a body of knowledge, most often using a set of skills; this meaning is preserved in such phrases as "liberal arts" and "martial arts". However, in the modern use of the word, which rose to prominence after 1750, “art” is commonly understood to be skill used to produce an aesthetic result (Hatcher, 1999).

The second, more narrow, more recent sense of the word “art” is roughly as an abbreviation for creative art or “fine art.” Here we mean that skill is being used to express the artist’s creativity, or to engage the audience’s aesthetic sensibilities.

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.

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.

A non-technical end user isn't going to care about the code itself (which is where I think a lot of people are drawing the line on "programming isn't an art, but it can be used to create art"), but they do care about the aesthetics of what the code makes (generally, the UI), even if they don't totally realize it. 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.

But there's another audience that most people don't think about it -- other programmers. Those who come after the original author of a given piece of code. For that audience, the code is the aesthetic. 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. 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).

Let's take a look at this quote that you included, in more depth:

"A work of art is good if it has arisen out of necessity. That is the only way one can judge it. So, dear Sir, I can’t give you any advice but this: to go into yourself and see how deep the place is from which your life flows; at its source you will find the answer to, the question of whether you must create. Accept that answer, just as it is given to you, without trying to interpret it. Perhaps you will discover that you are called to be an artist. Then take that destiny upon yourself, and bear it, its burden and its greatness, without ever asking what reward might come from outside. For the creator must be a world for himself and must find everything in himself and in Nature, to whom his whole life is devoted."
— Rainer Maria Rilke

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.

 

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

code of conduct - report abuse