Live data from Hacker News

Art vs. Computer Science

blog.steveklabnik.com

11–20 of 39 posts

Re: Art vs. Computer Science

#11
FWIW, which probably isn't much, I have a degree in fine art. Most of my work these days is UI design for web apps, but I also end up coding those UIs. With the exception of one long-standing project, any backend development I do (which does come up from time to time), I do in Ruby, which I switched to almost exclusively after using PHP for years, because it felt cleaner and more natural to me. Not that I have anything against PHP (I don't want to make this into a language war), it just felt like a better fit for me, personally.

I love beautiful code, whether it's javascript, ruby, or just html/css markup. My goal, at the end of the day, is to do as much as I can with as little code as possible. For me, I find that when I'm pleased with how my code looks, it also runs better, more efficienly, and more smoothly-not to mention it becomes much more maintainable.

I would say that there are certain artistic principles that influence the way I code and I try to extend the clean elegance of the UI to more than simply its appearance. I want the code that powers it to match that aesthetic in terms of its form, readability, and efficiency of function.

Re: Art vs. Computer Science

#12
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!

Re: Art vs. Computer Science

#13
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/

Re: Art vs. Computer Science

#14

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!

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?

Re: Art vs. Computer Science

#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 aesthetic appeal and to evoke emotions. Code written to be executed by a computer. It may have some aesthetic aspects but these are secondary to its executability. It also requires far too much prior knowledge to be appreciated by most people.

At best, code can incorporate aspects of industrial design: an aesthetically pleasing symbiosis of elegance and functionality, but with the latter always being the dominant goal.

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

Re: Art vs. Computer Science

#16

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. Commercial art is every bit as much of an art. It's just art with a different purpose.

There is no reason code cannot be beautiful. Of course I don't mean that in a visual sense. It's letters and numbers and symbols that need to be structured in specific ways in order to function. But in an intellectual/functional sense, code can certainly be beautiful and creative and elegant.

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.

It's more about opening your mind to new ideas and learning to find and appreciate the beauty in the function of the code.

Re: Art vs. Computer Science

#17
Computer science is the formal study of problem solving. Hence, algorithms - deterministic, mathematically tractable, general solutions to problems. Hence programming language theory - ways to efficiently express solutions to problems. Hence the study of data structures: building blocks that solve small problems, which crop up in many, many larger spaces, very effectively. Hence the study of the formal theory of computation: tractable models of mechanisms for general computations that happily map onto physically reliable machines. Hence computing machines: devices that allow us to compute solutions to problems at high speed. Hence machine learning, computer graphics and natural language processing: studies of specific classes of problems that happily submit to some general (but domain specific) approaches.

Computer science shares some of the creative sensibilities of mathematics: the building blocks (theorems) may be well understood, but there is a creativity and insight required to arrange them in such a way as to produce an [efficient/elegant/small/general] method to solve a given problem (proof). At the same time, this is why coding on its own is such a pale shadow of the entire field of computer science. Implementations at their worst are merely transcriptions of someone else's work.

Don't aspire to be an artist with your code; it's not the medium for art. There's a different aesthetics at work here. You will not habitually provide commentary on society or the human condition. Don't begrudge others the fact that they might. They don't begrudge you the beauty that you produce.

Re: Art vs. Computer Science

#18
post #14

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!

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 state it currently is in (words as symbols), art can mean anything to anyone, which is kind of a problem.

In the ways science must update its language when the language is polluted by society (cult, idiot, retard, etc), the language that describes creativity might do well with a refresh. I don't know - I look around, and every corner of every room has some genius sitting in a chair. I mean really, is this at all possible, and if so, new words should be invented to distinguish the great genius and just genius. I think the same problem exists when describing what creativity is, because to say it's all art is to say everything is merely art.

What I think art has become is a perspective. To be successful in art is to be able to initiate a unique conversation about the world using the Artist's worldview. A craftsperson requires a skill set - the ability to shape matter into an object, but almost nothing more. The artist must use what they create to say something profound. In an environment such as programming, this doesn't seem possible, but I'd love to be proven wrong. In saying that though, if there was to be any art in programming, it would be to program in a such an ugly fashion that no-one would think possible that the code was functional, but it would be.

Re: Art vs. Computer Science

#20
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…

"Code [is] written to be executed by a computer."

Maybe. It also is to express the author's understanding, description and specification of the problem domain and problem solution to other humans. After all, most code will be compiled. The compiled output is what the computer executes, and there can be many high-level input languages that (theoretically) compile to the same machine code.

Post reply on HN