···
===================================
----- Original Message -----
From: “Chris Pine” nemo@hellotree.com
To: “Hal E. Fulton” hal9000@hypermetrics.com
Sent: Monday, February 10, 2003 5:35 PM
Subject: Re: turning modules into classes
Is it that obvious? Though, I have to say, I find programming a
refreshing
and profoundly human activity. Programming languages (well, the ones I
like) are just so human-centric, like natural languages are. What I mean
is, aliens would most likely speak (if they spoke at all) in some way
totally alien to us… uh… totally non-translatable. I think their
programming languages would be similarly bizarre. (Oh, I’m describing
this
terribly…) What I mean is, even if they had Turing complete languages,
it
would be like trying to read Brainf*ck code.
Actually, I think I do understand you. I’m both a
science fiction fan and amateur philosopher (no
coincidence there) so I’m always asking questions
like: What are the absolutes, and what is merely
human?
I asked my college band director (assistant, actually)
why we used a twelve-toned scale. He was the first
person ever to answer that for me. It turns out, yes,
it is arbitrary (like our base-ten system)… and yet
not arbitrary at all. It has to do with things “working
out” mathematically in a “nice” way. (Sorry, I’ve
forgotten the details.) There are other scales – in fact
some cultures get along with a pentatonic scale – but
for most humans 12 is just about right.
There is no end to thinking about these issues. Star
Trek is well and good as entertainment, and I under-
stand the need for human-like aliens (physically and
otherwise) in fiction. But, of course, a real alien
is just as likely to resemble a jellyfish as a human
being.
And communication is another issue entirely. Different
evolution, different environments, different histories,
wholly different physical and psychological makeup…
why should anything be translatable at all? As one writer
said, “Compared with an alien, you and a spider are
blood brothers.”
As Wittgenstein said, “If a lion could speak, we would
not understand him.”
But I always vacillate on this matter. Perhaps the
gulf between human and alien is not so much wider than
the gulf between human cultures. Perhaps it is the same
order of magnitude.
Are these aliens intelligent? Well, doesn’t that imply
communication and therefore language, no matter whether
it’s spoken or written or infrared or olfactory? And
isn’t language a set of symbols referring to the outside
world, and therefore can’t we always introduce some
correspondence between symbol sets?
This reminds me of C. S. Lewis’s Out of the Silent
Planet in which the protagonist sees a Martian boat and
is startled at how much it resembles an earthly boat. But
then he thinks to himself, “Well… what else can a boat
look like?”
But then, to flip-flop yet again – you can make a really
excellent argument that nothing is truly translatable
even from one human language to another. Hofstadter’s
Goedel, Escher, Bach has a wonderful section where he
discusses translations of a Russian novel (was it War
and Peace? I can’t recall.)
In most languages “house” and “home” are the same word.
Try conveying the difference to a non-English speaker.
In German, the sentences “he has not yet arrived” and
“he has still not arrived” are rendered the same. In
English, the latter conveys more impatience, I think.
Shall I go even farther in that direction? Truthfully
no two of us speak the same language anyway. Every time
I start to pry beneath the surface, I discover giant,
fundamental differences in the way we think and use
language. In daily life we’d call those differences
“subtle”… but for anyone with a love of precision or
a philosophical bent, they are anything but subtle.
Anyway, I’m a big fan of humans. We’re all so similar. (Why do we all
love
Ruby, for example?) I use computers to explore my own humanity.
Oh, absolutely. What else are they for? 
I couldn’t agree more. On the one hand, I love to see which superfluous
axioms we chose, because that brings me closer to humanity. On the other
hand, I like to see what the true axioms are, because that brings me
closer to truth: both mathematical truth (seeing what the minimal set is)
and human truth (seeing exactly what we decided we wanted to add).
Well, Euclid had four.
Along with the “common notions,”
I guess. The fifth one proved problematic.
By the way, you may have picked up on the fact that
I’m interested in conlangs (constructed languages).
Of course, this is perhaps the most oddball of all
human pastimes except sex and politics.
If you’re interested in that kind of thing, do a web
search. There’s more and more stuff all the time. The
language Lojban is very, very interesting, but is so
dauntingly complex as to be virtually unlearnable
(www.lojban.org).
Do you not find it interesting to see which parts of Ruby could have been
written in Ruby, rather than in C? Of course, we could build a whole Ruby
interpreter in Ruby, but that’s not at all the same thing. I’m talking
about which parts of Ruby matz could have left out, and we could have put
into a ruby source file included at the beginning of our programs. Some,
like String#reverse, are totally uninteresting though; of course we could
have written that in Ruby. But would you ever have thought that you could
write class Class in Ruby?? It seems so fundamental… that’s why I was
so
surprised. (It’s certainly fundamental on the human side of things… it
feels fundamental.)
Hmmmmmmmm. I’ll go along with that. And yet… if you
didn’t have class Class, you couldn’t really write it,
could you? You know what I mean.
Cheers,
Hal