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.