Live data from Hacker News

Art vs. Computer Science

blog.steveklabnik.com

31–39 of 39 posts

Re: Art vs. Computer Science

#31

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 think you've confused a fraction of art with the whole. Art comes in many forms both low and high, both utilitarian and purely expressive. Art can be made by artists, but it can also be made by artisans (craftsmen).

This used to be obvious, most of the great Renaissance artists would be perfectly familiar with this definition. Many of them served as both artist and artisan depending on the circumstances. Is the ceiling of the Sistine chapel art? Few would say otherwise, yet it is just a mural. Is St. Peter's Basilica art?

Where do you draw the line? Is architecture art? Is graphic design art? There is no chasm between practical art and expressive art, it is a continuum with extremes at either end. To refuse the label of "art" to the craftsmen is an extreme disservice to their talent and their souls and to us all.

Re: Art vs. Computer Science

#32
post #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 mathemati…

You can't prove that list.pop in Python is always O(1) (imagine there is a bug in a reference implementation). But you can test that assumption for any given implementation.

Re: Art vs. Computer Science

#33
post #32
post #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 mathemati…

You can't prove that list.pop in Python is always O(1) (imagine there is a bug in a reference implementation). But you can test that assumption for any given implementation.

Given an implementation of Python, yes, you can prove list.pop will run in some (constant, one would hope) number of clock cycles on an abstract architecture. Building reliable machines to simulate such architectures is part of CS, but not a science.

Science is the construction of abstract models which match observed phenomena.

Re: Art vs. Computer Science

#34
I don’t have a paper to show you, some great insight into how von Neumann architecture is totally lame.

If it weren't for the von Neumann architecture the author wouldn't have pretty code to look at. I suppose he could write a post about the arty setting of switches and attachment of patch leads on his personal ENIAC.

It seems to me that the requirements for the existence of code meant to program a computer (and look pretty) are a memory to store the code and an automatic method of retrieving, and carrying out, the instructions in the code. That sounds a lot like the von Neumann architecture.

Also, I don't follow the analogy to pre- and post- relativistic physics. There was a shift in the intuition and the models used, but the object of study didn't change. Physics stayed the same. Electrons didn't change their behavior because we came up with new models for them. Similarly, in computer science, a shift in intuition and models doesn't change the nature of computation. The travelling salesman problem is still NP-complete.

Re: Art vs. Computer Science

#35
But you can’t get a ‘liberal arts’ CS degree.

Georgia Tech's Computational Media degree is one of these. The major is shared by their CS and Literature departments, thinking about programmatic artifacts as if they were traditional cultural media like poetry or music.

I was one of the first graduates from the program and it hit on something I'd really felt missing elsewhere, so take this as a recommendation if you happen to be looking for a university in the SE US... http://lcc.gatech.edu/compumedia/

Re: Art vs. Computer Science

#36
post #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 mathemati…

[deleted]

Re: Art vs. Computer Science

#37
post #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 mathemati…

I wouldn't say that theories we can actually prove are not science. Provable theories become approximations again when you take them out into the field. Also imagine a theory that is at first verified through experimentation, but later proven when found it relies on a mathematical relationship. In general science is not that well-defined. What matters is what knowledge the theories convey.

What most computer scientists don't yet realize is that algorithms are not that important. Their specific solution tailors to a certain context and its testable properties depend on that context. The interesting thing about Dijkstra's shortest path algorithm is not how he actually solved it, but the computational complexity of an optimal solution. If you look at it closely this is not really that interesting either. It does not tell you how to solve your shortest path problems when you're building a large-scale on-line route planner (notice all the context). It's just a little nugget of knowledge that can help you during design.

More powerful examples of computer science are Amdahl's law and the PFTK model for TCP throughput. These give us deeper understanding of the world of computation and networking that can really help engineers, the same way physical laws help engineers.

Re: Art vs. Computer Science

#38
post #35

But you can’t get a ‘liberal arts’ CS degree. Georgia Tech's Computational Media degree is one of these. The major is shared by their CS and Literature departments, thinking about programmatic artifacts as if they were traditional cultural media like poetry or music. I was one of the first graduates from the program and it hit on something I'd really felt missing elsewhere, so take this as a recommendation if you hap…

Thanks for the link. I already went to school, but I'm really interested in the different ways that programming and CS are taught, so I'll check that out.

Re: Art vs. Computer Science

#39
Actually it is possible to have an arts degree in comp sci (i have one). Second - it doesn't matter what language you use; you can be a code "artist" and program in any language. I don't get why people obsess over obscure languages instead of developing marketable skills. Nobody uses Haskell! Finally, please not another computer science vs engineering vs art vs science debate. It gets old. Who really cares anyway?
Post reply on HN