T.R | Title | User | Personal Name | Date | Lines |
---|
291.1 | | SAUTER::SAUTER | John Sauter | Mon Nov 26 1990 09:09 | 11 |
| While it is certainly possible to standardize French words for
programming concepts, for example, and then define programming
languages based on French, I don't think it is a good idea.
Programmers will be much more valuable if the programming languages
they learn work in all countries.
Of course, I'm biased, being a strictly English person, working in an
environment in which nearly all the programming languages are based on
English! It's easy for me to say "let them all learn English", as
the air transport industry has done.
John Sauter
|
291.2 | | TLE::VANROGGEN | | Mon Nov 26 1990 10:00 | 4 |
| Some languages provide macros which enable substitutions of
keywords with the local equivalent.
---Walter
|
291.3 | | BOMBE::PROBINSON | Just causing trouble... | Mon Nov 26 1990 14:12 | 9 |
| I observe without prejudice that Nicklaus Wirth, I believe he was
working at ETH in Switzerland at the time, defined Pascal using
English keywords. If you've ever had the opportunity to cruise
through any of the 4,321 Pascal compilers derived from his original,
many of the variable and procedure names make sense only in German.
English is the lingua franca :-) of the computer science community.
Based on no data, I suspect that had a lot to do with picking English
keywords.
|
291.4 | | SAUTER::SAUTER | John Sauter | Mon Nov 26 1990 15:40 | 8 |
| re: .3
I met Nicklaus Wirth before he went to ETH. He speaks excellent
English.
I suspect the predominance of English has to do with IBM being an
American company.
John Sauter
|
291.5 | | BOMBE::PROBINSON | Just causing trouble... | Mon Nov 26 1990 16:16 | 8 |
| > I met Nicklaus Wirth before he went to ETH. He speaks excellent
> English.
Did I ever say otherwise? I only intended to show that he was not in
an English-speaking environment at the time he developed Pascal, and
that he did not write the compiler "in English" but rather used German;
despite that, he chose English keywords. His fluency in English is
not at issue.
|
291.6 | | SAUTER::SAUTER | John Sauter | Mon Nov 26 1990 16:38 | 9 |
| When Wirth worked at Stanford on Algol-W, the predecessor to Pascal,
he did the language design but used grad students to actually implement
the compiler. If he worked the same way in ETH, the people who named
the variables may have been more fluent in German, even though the
compiler was designed by a speaker of English.
Thus, I don't think Pascal serves as a good example of a language
developed outside the English-biased computer science fraternity.
John Sauter
|
291.7 | | CHOVAX::YOUNG | Operation Imminent Blunder. | Mon Nov 26 1990 22:59 | 8 |
| Actually John, I would say that you have cause and effect reversed when
it comes to the connection between IBM & "Programming in English".
The real reason that English became the "lingua franca" of programming
has more to do with the fact that both COBOL and FORTRAN (and to a
lesser extent, LISP and ALGOL) were implemented in English.
-- Barry
|
291.8 | deeper history | SAUTER::SAUTER | John Sauter | Tue Nov 27 1990 07:52 | 28 |
| But you have to dig back further than that to find real causes.
FORTRAN was invented by IBM in the 1950s. COBOL was invented by
the U.S. Department of Defense. LISP was invented by John McCarthy
when he was at MIT, for the IBM 704 and its successors. ALGOL was
invented by an international committee, but to the best of my knowledge
all of the members spoke English.
The first few implementations of FORTRAN were on the IBM 700 and 7000
series computers. I'm not familiar with the early history of COBOL,
but its predecessors included IBM's Autocoder, which ran on the IBM
1401 and successors, and there was a COBOL for IBM's 7000 series, as
well as the System/360. Lisp ran on the IBM 704, 709, 7090, 7094,
and perhaps the 7094 II before it was implemented for the PDP-6 and
its successors. There was an Algol implementation for the 7090, but
it was never very popular. Perhaps Algol is an exception to the
"IBM dominated" thesis.
However, Burroughs, a British company, had the first high-quality Algol
compiler and also a very good COBOL implementation on their B5000, an
early-60s computer whose successors are still being marketed today.
So, let me modify my assertion: the dominance of English-based computer
languages is due primarily to IBM, an American company, and Burroughs,
a British company. Their dominance of the computer market in the early
days of high-level language design assured that today's HLLs would be
based on English rather than some other language.
John Sauter
|
291.9 | English is very flexible | COOKIE::R_TAYLOR | Richard Taylor | Tue Nov 27 1990 11:19 | 18 |
| RE: .-1
Well actually, Burroughs, now Unisys is a US company.
It is not hard to produce a compiler with keywords in other languages,
and that has been done. I believe that this was a standard feature of
ICL compilers from the 60s. The point that the original note was
making was that it is difficult to devise keywords in other languages
that make sense in all contexts. In this respect English is a very
flexible language. It was a computer researcher who is supposed to
have said "The good thing about English is that you can verb any noun".
Now this is definitly not allowed in other languages, or if it is
allowed, the form of the word must change.
It is the "primitive" nature of English that allows it to be mangled
acceptably into programming languages. The best example of this
mangling is Algol 68, designed by a Dutchman. For example, he managed
to turn 'procedure' into an active verb.
|
291.10 | The secret history of computing: | CHOVAX::YOUNG | Operation Imminent Blunder. | Tue Nov 27 1990 11:45 | 44 |
| Re .8:
Well, thats the history of computing as IBM tells it today. What it
leaves out is that prior to about 1960, IBM was a bit player in this
game. The "interminable" FORTRAN project for instance *WAS* IBM's
brainchild, but it never would have happened without substantial
support and funding from the U.S. Govt. Autocoder was largely merely a
counter to Sperry's Easycoder which preceded it.
If you still wanted to make the claim that the dominance of English in
programming was the result of some companie's involvement (and I would
not), then the real credit would have to go to RCA(!) and Sperry, who
along with the U of P and the U.S. Govt. did most of the seminal (and
most of it secret) work back in the early to mid-fifties.
But I think that this confuses cause and effect. In all of these
cases, it was really more a matter of an existing company taking
advantage of, of a company being created to take advantage of an
oppurtunity that happmed to exists in two countries that happened to
speak English. Had the same oppurtunities instead existed in say
France or Italy, then the world's dominant computer company might be
Bull or Olivetti instead of IBM.
It is closer, I think to lay the credit at the feet of certain *people*
who pioneered the field, such a Alan Turing, John Von Nuemann(sp?) and
John(?) Backus. Or alternatively, certain projects such as Mastermind
or Eniac. Still, both of these are a little off the mark.
If you look closer in *all* of these cases you will find a common
thread that was driving the development of computing, and ultimately
resulted in English being the dominant language of computing. That
common factor was, initially the British Govt. and then from about
1950 on, the U.S. Govt. There is practically no significant
development in computing from 1950 to the appearance and common
availability of the four programming languages (COBOL, FORTRAN, LISP,
and ALGOL) that were to completely dominate their respective fields of
programming (by the early 60's) that was not knowingly or unknowingly,
intentionally or unintentionally driven by the Federal Govt.
By that time (circa 1963), despite the great internationalization of
computing that began in the mid-70's it was pretty much a predetermined
fact that English was going to be the dominant language of programming.
-- Barry
|
291.11 | But IBM didn't *want* English to dominate.... | SKYLRK::WHEELERLL | Lloyd Wheeler | Tue Nov 27 1990 21:48 | 9 |
| Re .8, .10:
Actually, several years later IBM made positive efforts to reverse this
trend toward the dominance of English keywords in programming languages.
They developed APL which has the nearly unique benefit of being equally
difficult to read regardless of your native language ;-). Then again,
the language definition for APL *was* written in English....
Lloyd
|
291.12 | Adding heat to the fire... | COOKIE::WALLACE | Only dumb questions are not asked... | Tue Nov 27 1990 21:54 | 14 |
| Uh, guys? We sorta beat the ever loving gunk out of central Europe
from about 1942-1946. I'd say that these countries never got a good
foothold in any industry until about 1960.
My guess, and it is only that, is that if Germany had not been
decimated (ergo, Adolf would've been killed by the bomb set by the
officer corps) and WWII had ended about 1942-3 the programming
languages would definately have been German.
I agree that it was the influence of IBM, Unisys (modern name) that
lead to the use of english as the lingua franca of programming
languages. Who else in the world of 1940-1960 had their industry,
academia, and government intact and had the capability of creating a
computing device that needed a programming language?
|
291.13 | | BOLT::MINOW | Cheap, fast, good; choose two | Fri Dec 07 1990 15:20 | 25 |
| re: .12:
I agree that it was the influence of IBM, Unisys (modern name) that
lead to the use of english as the lingua franca of programming
languages. Who else in the world of 1940-1960 had their industry,
academia, and government intact and had the capability of creating a
computing device that needed a programming language?
There were von-Neumann machine "clones" built in Sweden in the early
1950's (I had the pleasure of programming a transistorized version
in the mid 1960's, and still have the manuals). In fact, Sweden,
with the Wegematic, was also a source of one of the early minicomputers.
Besk/Facit-1/Trask was programmed in raw machine language and, subsequently,
in the nicest Algol-60's I've ever seen. Rumor has it that the compiler
was written by Dijkstra. It is the only compiler I've ever seen that
was totally bug-free. (Full Algol-60 running on a machine with 4K x 40bits
main memory and a 64K x 40bits paging drum.)
Algol-58 and Algol-60 used English-language keywords.
Several versions of IBM Fortran were available with French keywords
in the early/mid 1960's, by the way. I believe this was also
true of PL/I.
Martin.
|
291.14 | | AUSSIE::BELL | Charitas Patiens est | Sun Dec 09 1990 17:11 | 6 |
| I heard about (but did not use) an Algol compiler for the IBM 7044 which used
a number of French keywords, and had all the error messages in French.
This was about 20 years ago.
Peter.
|
291.15 | i18n compiler | I18N::YOSHIOKA | No More Reengineering | Wed Jun 12 1991 09:15 | 13 |
| RE:.1
> languages based on French, I don't think it is a good idea.
> Programmers will be much more valuable if the programming languages
> they learn work in all countries.
IMHO. They don't care. If I can write a program in my native language,
I would love it.
> It's easy for me to say "let them all learn English",
Please don't say to me :-)
Hiro
|
291.16 | | MU::PORTER | Bad parameter value | Wed Oct 09 1991 00:17 | 53 |
| Design your language in the style of Algol-60. Distinguish
between the reference language, publication language(s), and
implementation language(s). The last can be anything
that your I/O hardware can accept: you can represent
the beginning-of-block symbol (which cannot be directly
stated on this terminal) as 'begin', 'commence', or
an open brace, according to what pleases you.
An important point here is that a decent Algol-60 implementation
had no reserved words. You could lexically distinguish
basic symbols. For example, consider the beginning-of-block
symbol. In the reference language, this was represented
by five letters, 'begin', underlined. In the usual publication
language, it was represented by five letters, 'begin', in
bold-faced type. I've seen the following implementation
representations:
- same as the reference language (underlining was reserved
for constructing basic symbols. plain upper and lower case
were available for the programmer).
- case-stropping. upper case was reserved for constructing
basic symbols, lower case was available for the programmer.
- apostrophe-stropping. basic symbols were enclosed in
apostrophes; upper and lower case were available for
the programmer.
- exclamation-stropping. the start of a basic symbol was
indicated by an exclamation point (which had no other use).
subsequent letters were part of the basic symbol until
you'd matched a whole symbol.
Given this, it's fairly easy to write a parser which transforms
one implementation representation into another. You don't
have to worry about context, just scan the input stream looking
for the next basic symbol, and translate as required.
Your compiler could
have a separate front-end phase for each such representation
you wanted: so a largely-common compiler could handle
code written in English Algol and French Algol, and even
(quite trivially) produce listings in other than the
input language.
Of course, I might be missing the point here (since I
don't read French too well! :-) because the language tokens
are only a small part of the whole program. But at least
if you're allowed to have a French version of Algol, then
you have the possibility to write the whole program in
French.
|
291.17 | Optional options | TLE::AMARTIN | Alan H. Martin | Mon Oct 14 1991 16:52 | 5 |
| Re .16:
For the record, Algol-10/20 (an Algol-60 implementation) defaulted to reserved
words, but allowed-apostrophe stropping under the /Q switch.
/AHM
|