[comp.sys.amiga] Bad programming practices: View from the other side...

bunch@alan.decnet.lockheed.com (03/08/90)

    From: "Robert I. Eachus" <eachus@aries.mitre.org>
    Subject: Re: Bad programming practices: View from the other side...
    Date: 23 Feb 90 19:36:37 GMT
    To: amiga-relay@udel.edu

    In article <10942@saturn.ADS.COM> xanthian@saturn.ADS.COM (Metafont Consultant Account) writes:

    >   No, they shouldn't.  One of the things that has contributed most to
    >   the spread of software technology worldwide is standardization on
    >   English as the language of programmers.  To what good fortune we can

Initially, to British colonialization, then to American economic and
military strength. If computer science had taken off in the '30s,
instead of the '60s, we might have languages written using German
keywords.

    >   attributed this I know not, and which language it was didn't matter
    >   that much, but don't even suggest messing it up.....

The advantage of having computer languages written in English is that we
(English speakers) don't have to know Russian to read code. The
advantage to non English speakers is that they have only one language to
learn, instead of English AND German AND Russian AND French AND...

	 Acutally the choice of languge did matter.  In many areas of
    computer science, such as compiler and language design, it seems to be
    necessary to be fluent in English, Russian, or one of the Germanic
    languages.  Ada is not a counterexample.  All of the members of the
    French led design team were and are fluent in English, and although
    some would contend that some of the design team discussions were held
    in English as opposed to American, very little, if any, work was done
    in French.  Even today in Alsys S.A. headquaters in Paris, it is rare
    to hear technical discussion in French, and the company is partly
    owned by the French government.

(all of this should be wrapped with forms binding OPINION-P to T and
HOMEWORK-DONE-P to NIL, so here goes with some armchair linguistics :-)

I suggest that the explanation for the afinity between compiler design
and Germanic languages, English in particular, and to a lesser extent,
many other descendents of the Proto-Indo-European language, can be found
in the history of compiler theory itself. Back in the '60s, Noam
Chomsky's Theory of Transformational Grammar was all the rage. It still
is, to a great extent among syntacticians, although many competing
theories of grammar have come and gone since then. Nevertheless, while
TG was the hot item among linguists, computer science was really taking
off at MIT (where Chomsky was leading the revolution in syntactic
theory). And a monument to academic cross-pollination was built. The
computer scientists took the linguists' theories of grammar and used
them to build the science of comiler design. 

The link between compiler design and English comes through TG. Although
some TG disciples would like to think their theories are more universal,
they primarily describe English, and then Germanic and Latin languages
to a reasonable extent (not surprising, since English is a merge between
these two branches of Proto-Indo-European, to a great extent), and of
course all "syntax-based" languages, in a more abstract sense.

	 Of course, anyone will tell you that whatever language the Algol
    68 Revised Report is written in, it isn't English.  But that just
    illustrates why a mutable languge is necessary for programmers--you
    often have to add new terms to describe new concepts.

I suggest that the practice of language modification, and extension in
particular, is a characteristic of the American culture, rather than the
"English" language. I think you'll find that the British are much less
prone to this practice. And I would tie that to their culture, placing
more value on tradition than pragmatism.

	 Even more interesting is that, although people who learned
    Chinese as a native tounge seem to have a special aptitude for
    compiler work, it is almost impossible for them to master langauge
    grammers unless they have mastered English.  

Sino-Tibetan languages are grammatically so far removed from
Indo-European languages, it isn't surprising that Chinese speakers can
have difficulty learning symbol systems (in this case, comilers) based
on English (and to a lesser extent, other Germanic and Latin language)
grammars.

	[...]

	 In my experience Japanese, Arabic, and Korean are all poison in
    the compiler world.  If you know them, try to forget them.  In a very

	[...]

This is ironic coming from a user of Ada, a language portrayed as being
object-oriented, because, it seems, "discourse-based" languages, e.g.
Korean, are naturally more object oriented than "syntax-based"
languages, e.g. English. Discourse-based languages derive more semantic
content from the concepts than from the syntactic glue, whereas
syntax-based languages encode much semantic information into the
syntactic structure surrounding the concepts. It's similar to
distributing your data throughout your code, instead of isolating the
objects from the functions.

Since object-oriented programming is the software wave-of-the-future,
perhaps CS curricula should start including Korean.

walt bunch
lockheed advanced research
bunch@alan.decnet.lockheed.com