Re: Computer Language Question
From: | H. S. Teoh <hsteoh@...> |
Date: | Wednesday, November 27, 2002, 2:01 |
On Tue, Nov 26, 2002 at 05:57:02PM -0500, Erich Rickheit KSC wrote:
> H. S. Teoh wrote:
> > Wait till you see a badly-written Perl script. ;-)
> > [Disclaimer: I like Perl.]
>
> Actually, I think Perl is interesting, as it's the only programming
> language I'm familiar with that has case markings.
It doesn't. It just has number markings. Or, more precisely, it has
"grammatical gender", which is what $, @, and % really are. And it's not
the first language to do this, too. Applesoft BASIC, from the old days,
suffixed string variables with $. I forget if it explicitly marked
numerical variables, but I wouldn't be surprised if it did.
[snip]
> I understand that this is slated to change in the next major version
> of Perl, and that the case markers '$ @ %' are going to become
> fosilized part-of-speech markers, and be considered part of the
> variable name.
Which is interesting in relation to the change of (natural) languages over
time. Of course, Larry is self-admittedly a closet linguist, so this could
be deliberate; nevertheless, the change isn't entirely by mere whim,
either, since it does have a practical basis that has become clear through
widespread use.
> If I may digresss somewhat, I find the development of Perl also
> interesting from sociological point of view. The notion of a
> programming language is to take advantage of humans' talent in
> manipulating languange to control a machine. In doing so, we bring
> with it the use of language as a group identity. People boast about
> the superiority of their favored language (though we can demonstrate
> mathematically that essentially all languages are equally powerful),
It is certainly true that all (non-trivial) computer languages are equally
powerful mathematically; however, practically speaking, there is a vast
difference between programming in BF [*] and programming in C, or some
other language of your choice. If we want to argue on a mathematical
basis, programming in *binary* is also just as powerful as programming in
a higher-level language.
[*] See http://www.catseye.mb.ca/esoteric/bf/
> and they develop complicated and abtruse idioms to show off their
> cleverness, and to reinforce their membership in an in-group.
[snip]
Not entirely true, IMHO. My point with bringing up BF is to show that
mathematical equivalence does not mean very much when it comes to
preferences between programming languages. Clearly, no one would do
serious work in BF, because it is simply too primitive. There is a need
for a higher-level abstraction so that it is simpler for the human mind to
comprehend and manipulate.
The true point of contention, IMHO, is in *how* we should abstract, and
what the abstractions ought to be. Different people have different
preferences as to what kind of abstractions they like or dislike --- this
is the true cause of different choices between languages of approximately
the same level of abstraction. This is most manifest between fans of
closely-related languages, e.g. Perl vs. Python. If you examine the
arguments of either side, you will see that ultimately it all boils down
to a matter of personal preference.
T
--
Bare foot: (n.) A device for locating thumb tacks on the floor.
Reply