Hacker News new | ask | show | jobs
by davidalln 5873 days ago
I think dismissing "programming as art" as irrelevant and hurtful to the community is dangerous. Here we have the tools to create a near-infinite amount of almost everything that can run on a computer. We use code to run complicated robots that can drive a course without human input, solve the most complicated mathematic problems of today, and create artificial intelligence with the ability to learn as it ages. Yet at the same time, we use code to make short chiptune songs and fun small games hacked away in an hour or two.

Wikipedia defines art as "the product of deliberately arranging elements in a way to affect the senses or emotions", and science as "the systematic enterprise of gathering knowledge about the world and organizing and condensing that knowledge into testable laws and theories." Why do these two things have to be mutually exclusive? Through creation and exploring, such as in _why's projects, we are further "gathering knowledge" about the limits computers can be used. And at the same time, we are creating art as these programs have had a clear impact on at least the Ruby community.

And, bringing up a more "sciencey" example, if the fact that my handheld calculator can solve complicated algebra and calculus equations in less than a second doesn't "affect [your] senses or emotions", then you need a reality check on just how impressive technology has come in such a short time.

I personally believe that programming is one of the rawest forms of creation imaginable, and therefore must be of some artistic worth. Simply calling it science and moving on does a disservice to those who slaved for so many hours working on their piece of computer science history.

3 comments

Look at http://www.paulgraham.com/knuth.html for a discussion of computer programming as both art and science.
Code can be used to create art. Wood can be used to create art. An HTML parser is not art, any more than disposable chopsticks are.

I've never understood _why's fan base; he seems to be no more than somebody who popped up, wrote a few low-quality libraries for an obscure language, and then vanished.

I guess we disagree on the definition of art. Those disposable chopsticks still required the search for a satisfactory length, width, smoothness, etc. Not to mention, the label and the marketing which equally requires a mastery of human psychology in order to get their product to sell. In this way, the designers have added something great and unique to the world which many people enjoy and use every day. This is art.

An HTML parser requires fast and efficient code to successfully and quickly read the document. Furthermore, the programmer needs to take into account common variations in HTML code as well as handling nested tags and attributes. And taking it a step further, the HTML parser is used to output the trillions of websites that are currently out there in a visible form for a majority of the developed world. In this way, the designers have added something great and unique to the world which many people enjoy and use every day. This is art.

Then again, I am one of those weird people who likes modern art, so I could be a vocal minority.

Indeed! There can be a joy & delight in writing an HTML (or XML) parser. I love that the libxml still has a quote at the top:

"Programming with libxml2 is like the thrilling embrace of an exotic stranger." Mark Pilgrim

That sort of excitement is not just an engineering one.

And, of course, some artists choose not to even write HTML parsers, but to do things more strange, more beautiful with their code. And that is where things really change, and really get exciting.

In that case everything is art and the word loses all its meaning.
No, in that case everything skillfully done is art and the world around us becomes something more than mundane dross.
Everyone wants to be an "artist". I'm proud to be a "programmer", no airs and graces, just solid work.
Couldn't an HTML parser be art? I don't think of an a parser as being like the wood used for a sculpture. The HTML itself is the wood, and perhaps the parser is the lathe. I think there is a false dichotomy between tools as purely functional and the product as the art. There can be real artistry in a well constructed tool. A well written, efficient parser can be beautiful to behold.

Maybe this comes down to the difference between something constructed purely for artistic purposes and something constructed in an artistic way to fulfill a broader purpose. Or maybe it's just a matter of personal taste, the way some people will spend hours arguing about whether a soup can is modern art or just pretentious trash. Personally, I'd say that if people are moved and/or inspired by it, than you can make the case that it is art.

Actually _why reminds me a bit of Hideo Kuze from the GitS. He appeared and gathered people who like him after sharing just a couple of moments, talking to each other. Some sort of "hero" idea is created for him, even though he didn't actively support it (or did he?). He used his specific personality to share ideas which are then applauded and duplicated... These are just the main similarities.
Well, he's gone now. So you guys won.
Are you somehow suggesting that _Why disappeared because of the GP and 'his kind'?
Yes, that is what I'm suggesting.
No wonder you're angry then. Ok, that makes me understand your position in this thread a bit better. Thanks for the explanation!
To give you an example of why starkfist would say something like this, you only need to look at @_why's last few tweets:

"programming is rather thankless. you see your works become replaced by superior works in a year. unable to run at all in a few more."

"if you program and want any longevity to your work, make a game. all else recycles, but people rewrite architectures to keep games alive."

"an ascending homage to fish bones. culminating in a delicate canopy of mouse furs."

... Okay, maybe not that last one. Anyway. He was obviously contemplating all of the stuff we've created around software, and was pretty bummed out by it.

Not that anyone will know _exactly_ why he disappeared, but still.

I agree that computing as an activity has manifestations that could be understood to be art, but that doesn't make _programming_ art. Glorifying programming as an art is like glorifying spelling as salient to the quality of Shakespeare's plays. Programming is the act of expressing programs. Coming up with interesting things for those programs to do definitely follows a creative process of human inspiration, but actually writing those programs down is not an "art". It's a fairly normative process in most cases, and it can (and should!) be made more normative.
I'd strongly disagree with that. I'd argue: it's rarely a normative process, and can (and should!) be made less normative. In fact, almost the only times it can be considered close to normative are when it's in a huge organization banging out boilerplate code, because in that case you've already assumed a fixed structure and placed "programming" into a niche within it, and declared that the structure isn't currently up for reevaluation.

But I don't think that fundamentally you can separate the act of expressing programs from the act of coming up with interesting things for them to do. The materials of the medium constrain what is possible or easy to express, and it's quite hard to produce anything good if you try to artificially separate them into levels of specification vs. implementation.

I feel that you are going Humpty Dumpty on us, picking a meaning for "programming" that makes your point but is far a field of what the term "programming" means in the minds of practitioners.

Basically, you have defined programming as a form of dictation. That definition makes your arguments true. But it does not follow the common usage of this term, especially as a site like this.