Is programming art?

(I’m a high school student confused by this concept)

I know this isn’t about ruby, but I don’t know where I should ask the
question.
And… after all, ruby is a language which more often be described by
“art”
than any other language I know.
Many people call Matsumoto “great designer”. I know programming is
related
to design. But is it “art”?

Paul Graham said programming is like painting in “Hackers and Painters”,
but
I’m very confused.
In art field, the masterpieces would be honored… forever.
The sculptures made by ancient Greeks still stand.
Tang poetry was recited by Chinese users until now.
Da Vinci’s painting like Mona Lisa have been classic for 500 years.
How about programs? After five hundred years, our descendants will
remember
mailing list, Ruby, or even Linux?
If a craft can’t stand test of history, still it is art?

If programming is neither art nor manufacturing, what is it?

The creation of software aspires to be a science or at least more like
engineering but it is truly a craft. The software takes shape under
the hands of the coder at the exact moment of creation such as when
the painter creates the painting. Such planning as may be done in
advance can be swept aside in a moment of inspiration with the brush
in hand, the whole canvas can be scrapped because it does not look
right to the artist despite an observer seeing no fault with it.

It is the same with software.

However software, unlike painting or sculpture, is a thing of utility
and thus in a constant state of flux. It is rewritten continuously and
when it no longer has utility it is scrapped. Da Vinci did not return
to the Mona Lisa and say “I think I should really do this in
charcoal”, Michelangelo did not return to David and say “his right
hand would look better on his hip, perhaps he should have a more
contemporary haircut”.

True works of art have no utility and have a final form.

Software exists solely for it’s utility and has no final form to stand
on a pedestal or have learned articles written about.

The the creation of software is a craft/art but the final product is
just that, a product. Some forks are elegant and stylish, others are
ugly and utilitarian but we choose that which functions better as a
fork over that which does not. Beautiful software that does nothing is
soon discarded.

The creation of software is a craft aspiring to be an art but the
result is not art, just utility.

YMMV :slight_smile:

True works of art have no utility and have a final form.

Warning: I’m going to use some onanism to attempt to demonstrate
a point. This is because writing silly, and often useless, pieces of
software is my hobby!

Here is a specimen. It’s a zoom into a fractal exclamation mark.

So that’s a bit of a strange program that generates fairly strange
(or crap) art.

I’m trying to show is that the relationship between
utility and art is not as simple as XOR.

  • The program makes art.

  • The art is useless.

  • Is the program useless? On the other hand, could I really argue that
    it’s useful?

  • If the program was used as part of a particularly pretentious
    installation, would it then become part of the art, or would only its
    output be art?

  • Importantly, would you shoot the person who arranged the exhibit?

Johnny

There are diverse opinions about the status of computing. Also it can
described as science. The next are two articles on that line.

  • Is Computer Science Science? , Peter Denning, 2005.
  • Computing is a natural science , Peter Denning, 2007.

Maybe the categories of art, science or engineering are related with
the methods that you use.

Daniel

Excerpts from Yu-Hsuan L.'s message of Fri Dec 17 06:51:30 -0300 2010:

On 17 December 2010 11:53, John M. [email protected] wrote:

True works of art have no utility and have a final form.

I’m trying to show is that the relationship between
utility and art is not as simple as XOR.

  • The program makes art.

  • The art is useless.

There is a distinction between being useless and having no utility. I
content that art has no utility in that it does not have “the quality
of being of practical use” (the meaning of the word utility). That
does not mean that it is useless.

A program that does nothing or does what it is expected to do wrong (a
calculator that cannot add up) has no utility. I have a program that
generates long strings of random characters that I use for passwords,
this has utility. If at some point in the future when security is
enabled via retinal scans and passwords are no longer in use then my
program ceases to have utility.

Art of itself never had utility.

A programmer works / creates more like a painter / sculptor than an
engineer but the result of the labours is not art but something that
has utility. Painters and sculptors do not create things of utility
unless you consider using Michelangelo’s David as a hat stand :slight_smile:

Is art useless? That is another question and not one that I was
addressing. Given that in around 6 billion years the sun will turn
into a Red Giant and all life on Earth will be eradicated then you
could view all human endeavour as useless :frowning:

There is a distinction between being useless and having no utility. I
content that art has no utility in that it does not have “the quality
of being of practical use” (the meaning of the word utility). That
does not mean that it is useless.

I agree that there is a subtle distinction I had not considered!

Is art useless? That is another question and not one that I was
addressing. Given that in around 6 billion years the sun will turn
into a Red Giant and all life on Earth will be eradicated then you
could view all human endeavour as useless :frowning:

Aye, you’re right: it’s another question. I have my faith in humanity
(or what it may become). In 6 billion years we might be symbiotic with
novae. :slight_smile:

On Dec 17, 2010, at 6:56 AM, Daniel Hernndez wrote:

There are diverse opinions about the status of computing. Also it can
described as science. The next are two articles on that line.

  • Is Computer Science Science? , Peter Denning, 2005.
  • Computing is a natural science , Peter Denning, 2007.

Remember to look at Knuth’s “Computer Programming as an Art” from 1974
which starts out by looking at the meaning of art… It’s printed in
the book Literate Programming (worth a read in its own right) and the
article’s on line
http://fresh.homeunix.net/~luke/misc/knuth-turingaward.pdf

Mike

question.
Da Vinci’s painting like Mona Lisa have been classic for 500 years.
How about programs? After five hundred years, our descendants will remember
mailing list, Ruby, or even Linux?
If a craft can’t stand test of history, still it is art?

If programming is neither art nor manufacturing, what is it?

Mike S. [email protected]
http://www.stok.ca/~mike/

The “`Stok’ disclaimers” apply.

On Friday, December 17, 2010 03:51:30 am Yu-Hsuan L. wrote:

I know programming is related
to design. But is it “art”?

In the sense that anything can be.

In art field, the masterpieces would be honored… forever.
The sculptures made by ancient Greeks still stand.
Tang poetry was recited by Chinese users until now.
Da Vinci’s painting like Mona Lisa have been classic for 500 years.

Programming, in its current form, has been around for, what, 50 years?
Give it
time to stabilize – and time for true masterpieces to appear.

What’s more, it’s a

How about programs? After five hundred years, our descendants will remember
mailing list, Ruby, or even Linux?

It’s possible that these will leave a living legacy. The Linux we use
today is
very different than the Linux that Linus wrote for want of a terminal
emulator
– I’d be surprised if a single line of code is the same. Yet in a
sense, it
might be considered the same, in the sense that you are still the same
person
you were ten years ago – likely not a single cell in your body now was
in
your body then, and it’s possible all of your atoms have been replaced,
but
you’re still you, are you not?

Even failing that, while very few people use anything that’s directly
descended from the original AT&T Unix, we do still use systems based on
and
inspired by that design. I would imagine that in five hundred years, if
we’re
still using earthbound networks, they’ll probably still be running
something
very like IP, and I’d even bet that it’ll still be IPv6. I would also
imagine
that many of the ideas inspired by Unix would be alive and well, and
likely
even some code that once lived inside Linux.

And there are some things which seem genuinely timeless – for instance,
sorting is very nearly a solved problem, and five hundred years from
now,
they’ll probably still be using something like quicksort, merge sort,
etc.
There are real, mathematical constraints on making sorting much better,
and
there are only so many ways to implement the existing algorithms. Even
things
like “copy” can have some poetry to them; I imagine as long as C is
around,
this snippet will survive, even though I doubt anyone actually
recommends
programming this way:

void strcpy(char *a, char *b) {
while(*a++ = *b++);
}

As a community, we even have our heroes and our memorable quotes. Like
him or
not, who can forget Dijkstra saying “Beware of bugs in the above code; I
have
only proved it correct, not tried it.” I’m going to remember that for
the rest
of my life, even if I never see the actual code he was talking about.

Even failing that, I’d have to answer:

If a craft can’t stand test of history, still it is art?

Yes, of course.

What do you mean when you say “art”? Do you mean the same thing Roger
Ebert
meant when he loudly declared, “Video games can never be art”?
Responding to
the backlash, he tried to say that they could never be “fine” art,
whatever
that means.

If someone sketches something beautiful to give to his girlfriend on
Valentine’s day, and she never shows it to another soul, would you say
that is
not art?

Absurd. The question of whether something is or is not art shouldn’t
depend on
how many people have heard of it, or for how long, at least if the word
“art”
is to have any meaning other than “popular”.

If programming is neither art nor manufacturing, what is it?

It’s both, though closer to engineering than manufacturing.

On Fri, Dec 17, 2010 at 2:51 AM, Yu-Hsuan L. [email protected]
wrote:

And… after all, ruby is a language which more often be described by “art”
than any other language I know.
Many people call Matsumoto “great designer”. I know programming is related
to design. But is it “art”?

In my opinion, 99.9% programming isn’t art.

The primary purpose of art is to communicate ideas between people, often
times ineffable ideas that can’t be put into language. Art is not
intended
to be utilitarian and typically has no intrinsic useful function in an
of
itself.

The primary purpose of programming is to accomplish a utilitarian
function
by providing a set of instructions to a computer. Rather than being
ineffable, the instructions are given in very precise language.

Ruby has a very flexible syntax that lets people do things solely for
aesthetic value, even things that might slow down your code or make it
harder to work with. I’ve often heard people refer to these sorts of
things
as “poetic” and I like doing them myself. They make no sense when the
program is interpreted by a computer, only a human reader. I’d consider
that
sort of thing artistic.

People who write entries for obfuscated code contents often times do fun
things with the formatting, making their obfuscated code into pictures
and
shapes. This is particularly interesting with “quines”, programs that
can
output their own source code.

As a response to Paul Graham’s “Hackers and Painters” essay, I
particularly
enjoyed this essay by an artist/programmer, called “Dabblers and
Blowhards”:

http://www.idlewords.com/2005/04/dabblers_and_blowhards.htm

On Friday, December 17, 2010 11:29:06 am David M. wrote:

As a community, we even have our heroes and our memorable quotes. Like him
or not, who can forget Dijkstra saying “Beware of bugs in the above code;
I have only proved it correct, not tried it.”

…except I apparently forgot that was Knuth, not Dijkstra. Must have
Dijkstra
on the brain lately. Sorry about that…

The same question could be asked about painting. Is painting art?

Painting a wall white probably wouldn’t be considered art, where
painting a
picture of fruit on a table would be considered art.

On Sat, Dec 18, 2010 at 1:29 AM, David M. [email protected]
wrote:

It’s possible that these will leave a living legacy. The Linux we use today

void strcpy(char *a, char *b) {

that means.
is to have any meaning other than “popular”.

If programming is neither art nor manufacturing, what is it?

It’s both, though closer to engineering than manufacturing.

You imply that our programming craft is too young to be art. But
programming
is growing more quickly than other industries(or sciences). Maybe fifty
years is not short?

Quick sort and merge sort and so on is algorithms rather than
programming.
Algorithms are mathematics and mathematics are immutable. Even we have
non-Euclidean geometry, every student learns Pythagorean theorem first.
But
still CS students learn Fortran? Some of them even don’t want C
language.
(I have learned C and like it, of course.)

Now my opinion is like the essay Arcieri posted.

People who write entries for obfuscated code contents often times do
fun things with the formatting, making their obfuscated code into
pictures and shapes. This is particularly interesting with “quines”,
programs that can output their own source code.

In case anyone here is a obsfucated programming virgin, here is
(a personal favourite) example of obsfucated code:

http://www.ioccc.org/1996/schweikh1.c

(Here is an archive of such insanity - you’d need the Makefile to
use the above)
http://www.ioccc.org/years.html

As a response to Paul Graham’s “Hackers and Painters” essay, I
particularly enjoyed this essay by an artist/programmer, called
“Dabblers and Blowhards”:

Dabblers And Blowhards (Idle Words)

That’s brilliant!

Though I’m still set on thinking a fractal generator constitutes art.
The fractal on the screen is art, and the program is a description of
how to construct the fractal’s geometry.

In any case, as that essay points out:
maths isn’t going to get me laid.

On Fri, Dec 17, 2010 at 11:54 AM, Brian J. [email protected]
wrote:

The same question could be asked about painting. Is painting art?

It depends what you’re painting (but you already answered your own
question…)

Art generally speaking is there to decorate our environment (visually,
aurally etc). That’s why people buy it.

You classify something as art if it has some characteristics that you,
or someone in the room, decides makes it art ie you can’t really define
art. You learn the “That is art” reaction from others.

Software just doesn’t fall into this category.

Also art tends to mean done in a way that is not the normal,
straightforward, obvious, simple way. Art tries to distort, abstract,
defy physics - generally create something out of the ordinary.

Software can be aesthetically pleasing either functionally or the way
its
written but that’s not normally art. It is engineering - creating
functional things in the most sensible way (not amusing, challenging etc
etc). Adding elegance and beauty is not the same as art.

Though I’m still set on thinking a fractal generator constitutes art.
The fractal on the screen is art, and the program is a description of
how to construct the fractal’s geometry.

In case anyone is interested, here is an argument which shows
my reasoning there to be faulty:

A circle painted on canvas is art.

class Circle

attr_accessor :x, :y, :radius

end

isn’t art.

Therefore a (non-obsfucated) fractal generator isn’t art.

That’s kind of what I was trying to say.

The product of painting and the product of programming can be art, or it
can
serve some practical purpose.

Take a look at the result of Natzke’s programming:

It is clearly art.

Yu-Hsuan L. wrote in post #969025:

(I’m a high school student confused by this concept)

Start with an easier question:

What is art?

On Sat, Dec 18, 2010 at 12:07 PM, Adam Ms. [email protected] wrote:

Start with an easier question:

What is art?

I gave one definition earlier, but there’s another definition that’s
also
interesting, which is the one Knuth uses, the classical definition:

Art is that which is not science

That is to say, things that could not be made into sciences were
relegated
to art. This is the context for the title “The Art of Computer
Programming”

I think most individuals exist in both worlds. If you are repeating
exactly
what your buddy did, then this is production, not art. If you are
refining
your buddies protocol, then this the art of refinement. If you say, “I
am
going to create something amazing!” this is a purer art.