Live data from Hacker News

Art vs. Computer Science

blog.steveklabnik.com

21–30 of 39 posts

Re: Art vs. Computer Science

#21

Why is art reduced to craft in this modern age? Really, for any programmer to assume they are being artistic just because their code is 'nice' is absolutely absurd, and it's horrifying to think it happens. To be an Artist now is to be a social/cultural/literary critic. There cannot be art in programming, no matter how creative one thinks they code. Please stop it!

I could argue that art consists of representing the world of human experience. That 'art' is right-brained, non-reasoning, 'intuitive'. There are many ways of representing the world, some of them 'better' at communicating one's intentions than others. E.g. Picasso beats Ricky 3rd-grader, Mozart beats Milli Vanilli.

Now I'd argue that a computer program is a representation of a world. It has logical aspects, yes (just as Norman Rockwell's 'art'.) But it also has aspects of quality, design (definitely non-logical), and, particularly important, how well it stands up to being battered by the input the world throws at it ... how well it represents a world.

Just like scientific theories, or mathematical conjectures, success may depend as much on beauty as on reasoning. Diamonds are judged just as much by cut as they are by weight. See Kuhn. See what happened to Eddington's 'Fundamental Theory'. And please respect Knuth's sense of the 'Art of Computer Programming'. Whether you understand what 'art' means yet or not.

Re: Art vs. Computer Science

#22

Why is art reduced to craft in this modern age? Really, for any programmer to assume they are being artistic just because their code is 'nice' is absolutely absurd, and it's horrifying to think it happens. To be an Artist now is to be a social/cultural/literary critic. There cannot be art in programming, no matter how creative one thinks they code. Please stop it!

What about commercial art and design? Would you consider those as having been "reduced to a craft" as well? One could look at this from the same perspective. It all depends on your definition of art. For me, that's taking raw materials and making them into something beautiful, whether it's to solve a problem or elicit some sort of emotional/social/intellectual response, or make a statement is entirely irrelevant. Com…

You've summed it up very well.

Re: Art vs. Computer Science

#23

Earlier quoted context omitted.

What about commercial art and design? Would you consider those as having been "reduced to a craft" as well? One could look at this from the same perspective. It all depends on your definition of art. For me, that's taking raw materials and making them into something beautiful, whether it's to solve a problem or elicit some sort of emotional/social/intellectual response, or make a statement is entirely irrelevant. Com…

You've summed it up very well.

Thanks.

Re: Art vs. Computer Science

#24
post #14

Earlier quoted context omitted.

Can you elaborate on what exactly you mean by "art?" We can't have a useful discussion about a concept (and especially a duscussion about one concept being in the equivalence class of another) without knowing what our terms mean . In what ways are art and craft different? What are examples of art? Are you equating "art" with "fine art," or do you mean something else?

Apologies for being vague. Art is always a hard one to define in absolute terms, but the question that makes it easier (I think) is what is left for art? How does one become an artist these days? Is it enough to be purely ornamental? When we have advertising, music video, and graphic design to satisfy those types of creative spirits, what does the artist do to compete as Artist? Also with language in the West in the…

It seems that 'art' vs 'craft' shares the same relationship that 'computer science' and 'programming' do. Not they're equivalent, but that they both share the same kind of higher vs lower distinction. Mildly off-topic, but I think it relates well to your 'pollution' sentiment. Universities have certainly been using the name 'Computer Science' while teaching 'programming.' And not teaching it well. But that's another discussion.

> In an environment such as programming, this doesn't seem possible, but I'd love to be proven wrong.

Not that anything can be proven, but I do think that code can say profound things. It might just be that it's because I'm only (almost) 24, but I feel that code helps me to understand myself, and has managed to change my opinions on seemingly unrelated topics. I'd agree that art has a higher calling than 'pretty pictures,' and that it "say[s] something profound." I didn't say much about this in my post, though.

To fully relate how I think about this would require a whole essay. So I'll be a little short, and sum it up with a small example.

I've been programming computers since I was 7. That's 17 years of coding. Yes, it's not like I was writing anything amazing at that young of an age, but those silly little games that I wrote certainly affected me personally. In a very stereotypical way, I was drawn to libertariansim, even though my parents are pretty staunch Republicans. I discussed a lot of political philosophy with a friend of mine who has very different views than I, and she remarked how much she saw a similarity between my thought process and the workings of a computer, and it really made me think about my views on the world. I realize that I tend to view the world as a system of equations, or a function with inputs and outputs, that I have pretty simple heuristic functions by which I make decisions, and that most people _are not like this at all_. Which came first? Do I think this way because I've been programming my entire life, or do computers work that way because they're a human creation?

This realization causes me to compare and contrast code and life on a fairly regular basis. When I go to write an API, I try to think in terms of communication. Connecting two applications is like connecting two people, and you have to bridge the gap between the two. When I'm naming functions or writing documentation, I think about how I'd explain my understanding of a problem to another person, and how the pieces of the puzzle fit together. When I see language wars, I think of how they're similar to real wars; no matter who 'wins', _everyone_ loses. Also that sometimes, quantity (of users) is it's own kind of quality (of design decisions.) When I think about Open Source, I try to resolve the cognitive dissonance that makes me say "socialism can't work" with the fact that I participate in something that's socialist in nature on a regular basis.

At this point, I'm rambling. Sorry. But I hope that I've at least started to make you think about the topic a little. The medium may be a bit strange, but it's not like modern art "say[s] something profound" to John Q Public, either.

Re: Art vs. Computer Science

#25
post #15

I think that if you believe coding is an art form, you are deluding yourself. You probably wish that your chosen field of expertise would get more respect from society rather than being considered a boring occupation of geeks. I can understand that, but wishes don't make beggars ride, and neither will they make coding fashionable and cool. Code is not art, and never will be. Art is something created purely for its ae…

> Art is something created purely for its aesthetic appeal and to evoke emotions.

What do you think of things like obfuscated Perl, Perl poetry, the Underhanded C Contest, obscure langauges like Brainfuck, 'joke' languages like Intercal or Malbolge, or even, say, Ruby on Rails? Sometimes code is created for a reasons other than functionality, or is functional while making commentary on the world or the way things should be.

Also, languages themselves ooze philosophy. We talk about not 'writing Java in any language,' or how Rails is 'opinionated software,' or how Python is 'batteries included.' Every language expresses its authors viewpoints about the world.

> It also requires far too much prior knowledge to be appreciated by most people.

I didn't think that accessibility was a requirement for art. In fact, it would seem that among certain crowds, work that's too accessible isn't seen as art. My art history is admittedly really poor, but wasn't pop art looked down upon for a while? Besides, you can't possibly tell me that, say, modern art is accessible, yet it's still art.

> The article also assumes a false contradiction between art and science that makes me suspect the author understands neither.

I'm not saying that they're contradictory. As someone else summarized earlier,

> I don't think the author's comparing a bit of C code to a Rembrandt painting in the visual sense, but saying that programmers should embrace those same ideals of creativity, innovation, and fluidity of thought that many artists do.

Re: Art vs. Computer Science

#26
post #7

I think a project like OpenFrameworks embody some of the thoughts in the post: http://www.openframeworks.cc/ (don't get put off by the fact that it's C++)

If you are put off by C++ but not by Java, there's the Processing framework which is similar: http://processing.org/

... I'm personally put off by both, but I agree with both you and the parent. These are both libraries that try to show code from a different perspective. Good links, both.

Re: Art vs. Computer Science

#27
post #19
post #3

As you might guess, I think this completely misses the point. See: http://blog.computationalcomplexity.org/2006/07/science-and-...

The point in a mere six words: Computer science is not programming.

You are correct, no matter how much universities seem to want them to be.

Re: Art vs. Computer Science

#28
post #5

I think of the non-hardware parts of computer science as applied philosophy. Art seems wrong to me as a descriptor because it would imply that I'm writing code for a sort of aesthetic beauty. The aesthetic beauty should be in the end result. Which also means it probably isn't science, because really what I worry about when I'm programming is that the end result will be correct. To some extent I am concerned about sci…

> Art seems wrong to me as a descriptor because it would imply that I'm writing code for a sort of aesthetic beauty.

I think code can hold the same kind of beauty that math has when someone says that a proof is elegant, or a theory is beautiful. It's not a visual aesthetic, but appealing nonetheless.

Anyway, I think that the idea of programming as philosophy is interesting. I'll have to think about that more.

Re: Art vs. Computer Science

#29
I'm surprised nobody has referenced Donald Knuth's 1974 Turing Award speech, Computer Programming as an Art.

http://portal.acm.org/citation.cfm?id=361612

Paul Graham even posted it in its entirety here: http://www.paulgraham.com/knuth.html

This question hinges on how you define the terms science and art. I like Knuth's definitions.

Re: Art vs. Computer Science

#30
I won't dispute that computer science is indeed a science. CS is very testable, we can easily show evidence that a pop operation takes O(1) time.

Science is about discovering models to describe the world. Proving from axioms that pop can be done in constant time on a Turing machine is math.

The fundamental theories of computation are mathematically rigorous.

Exactly. Math. Not science. Nothing in science is mathematically true, only not-yet-shown-untrue. See: http://www.edge.org/q2005/q05_8.html#kay

Post reply on HN