[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::languages

Title:Languages
Notice:Speaking In Tongues
Moderator:TLE::TOKLAS::FELDMAN
Created:Sat Jan 25 1986
Last Modified:Wed May 21 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:394
Total number of notes:2683

291.0. "Programming in a foreign language?" by MARVIN::COCKBURN (Suas leis a' Gh�idhlig) Fri Nov 23 1990 12:28

Cross posted from the FRENCH notes file.


              <<< SWTHOM::$1$DUA3:[NOTES$LIBRARY]FRENCH.NOTE;2 >>>
                           -< Ici on parle francais >-
================================================================================
Note 676.0                French programming languages?               No replies
MARVIN::COCKBURN "Suas leis a' Gh�idhlig"         117 lines  Fri 23-Nov-90 13:52
--------------------------------------------------------------------------------


... I thought you might
be interested in the message below which I received recently. The first
paragraph is in Gaelic, but isn't important. The rest is French. Please
feel free to pass this on to anyone who you think may be interested.
Is Digital looking into providing foreign programming languages?

cheers
	Craig.

 ----------- Forwarded mail received on Thu, 22-Nov-90 at 19:11:53 -----------

FWD:	Subj:	Ri/omhchla/ru/ as Fraincis 
From:	DECWRL::"GAELIC-L%[email protected]" "GAELIC Language Bulletin Board"
To:	Craig Cockburn <MARVIN::cockburn> 

Ta/ caint ar soc.culture.french (ar Unix) faoi la/thair maidir le focail mar
"DO", "UNTIL", agus "REPEAT", sna teangacha ri/omhaireachta a aistriu/ go
Fraincis.  Seo sampla da/ bhfuil ann.
 
    Caoimhi/n
 
>From: [email protected] (Ivan Derzhanski)
>Newsgroups: soc.culture.french
>Subject: Re: Langages de programmation francais
>Date: 18 Nov 90 17:29:23 GMT
>Organization: Brandeis University Computer Science Dept
>
>In article <[email protected]> [email protected] (Christophe DONY) writes:
>
>>... si ca te semble
>>difficile dans ta propre langue, il doit t'etre facile d'imaginer que
>>ca l'est encore plus dans une langue etrangere surtout lorsqu'on ne
>>maitrise bien ni la langue etrangere ni les concepts. Il me semble
>>qu'apprendre a un etudiant anglophone debutant d'apprendre a programmer
>>en francais doit etre plus difficile qu'en anglais, non? Exemple:
>>
>>i := 0
>>REPETER
>>	DEBUT
>>		A_MOINS_QUE
>>			tab[i] = 0
>>		FAIRE
>>			tab[i] := 1/tab[i];
>>	i:=i+1; /
>>	FIN
>>JUSQU'A_CE_QUE
>>	i = 100.
>
>Eh bien... c'est utile que connaitre l'anglais, bien sur, et pouvoir
>comprendre ce que le programme dit. Et c'est aussi tres utile qu'avoir
>des langues de programmation qui "parlent francais (japonais, russe,
>arabe, ...)". Mais c'est aussi assez problematique. Quelques remarques:
>
>D'abord, votre anglais peut vous ammener sur une fausse piste. Vous
>savez le mot anglais "when" (quand), par exemple. Devinez ce qu'il veut
>dire a) en Ada; b) en Lisp. Attention, ce n'est pas la meme chose. Ou
>mieux encore: ce que "do" signifie en PL/I ou Algol-68, ou Lisp, est
>tres different de la role qu'il joue comme mot anglais. Tout le monde,
>anglophone ou pas, devra apprendre "do" comme keyword. Comment le
>traduisiez-vous? Faire? fais? faites? fait? fera? - d'abord, c'est pas
>"do" que tout cela, c'est "make". Aucun mot francais n'est pas "do".
>
>>-- J'aimerais avoir l'avis des Japonais ou des Russes sur la question,
>>y-en-a-til sur ce forum?
>
>Je l'aimerais aussi... ou sont nos japonais?
>Moi, je ne suis pas russe, je suis bulgare, mais j'ai des amis parmi
>les programmistes sovietiques et j'en ai parle parfois avec eux. Il y a
>quelques langues qui ont ete "traduites" en russe: j'ai vu moi-meme des
>programmes ecrits en PL/I, COBOL, Algol-68, SETL et Analytic "russes".
>Les mots russes sont presque toujours bien plus longs que les mots
>anglais correspondents, et si l'on utilise des abbreviatures, on risque
>de faire la langue incomprehensible pour tout le monde. D'abord, la
>grammaire russe est plus compliquee, les mots ont beaucoup de formes.
>En Algol-68 russe, par exemple, on peut ecrire
>
>imja imeni cel          pour          ref ref int
>
>ou "imja" et "imeni" sont le nominatif et le genitif du mot russe
>signifiant "nom"; le systeme doit les comprendre tous les deux. (A propos
>"ref:" la meme chose s'appelle "reference" en Algol-W, "access" en ADA,
>et "pointer" ou "ptr" en PL/I. Qu'en dites-vous?)
>
>Bien sur, tout ca ne veut pas dire que le jeu ne vaut pas la chandelle,
>surtout pour des enfants; il y a meme un LOGO bulgare (mais rien d'autre,
>je crois).  Bien, LOGO...  Le mot TO (dont on se sert pour faire des
>fonctions) veut dire que tout nom de fonction est considere l'infinitif
>d'un verbe.  Y a-t-il un LOGO francais?  Qu'est-ce qu'il utilise en lieu de
>TO?  J'espere que tous les noms de procedures ne terminent en ER, IR ou RE?
>- c'est presque le meme que les faire terminer en F, comme en FORTRAN 2.
>
>Je ne suis pas anglophile, moi, mais je trouve l'anglais bien utile,
>surtout pour faire des termes.  C'est economique.  Comment direz-vous en
>francais: "to cdr down a list", "to cons two values"?  Ce n'est pas une
>question rhetorique... je voudrais savoir!
>
>Enfin, si vous trouvez les mots anglais trop difficiles, vous devriez
>aimer APL, ou il n'y en a aucun. :-)
>
>Ivan A. Derzhanski
 
% ====== Internet headers and postmarks (see DECWRL::GATEWAY.DOC) ======
Received: by decpa.pa.dec.com; id AA02545; Thu, 22 Nov 90 11:11:26 -0800
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP R1.2.2MX) with BSMTP id 7839; Thu, 22 Nov 90 14:08:17 EST
Received: by UGA (Mailer R2.07) id 1909; Thu, 22 Nov 90 14:08:00 EST
Date:         Mon, 19 Nov 90 16:58:46 gmt
Reply-To: GAELIC Language Bulletin Board <GAELIC-L%[email protected]>
Sender: GAELIC Language Bulletin Board <GAELIC-L%[email protected]>
From: C.P.ODonnaile%[email protected]
Subject:      Ri/omhchla/ru/ as Fraincis
To: Craig Cockburn <MARVIN::cockburn>
T.RTitleUserPersonal
Name
DateLines
291.1SAUTER::SAUTERJohn SauterMon Nov 26 1990 09:0911
    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.2TLE::VANROGGENMon Nov 26 1990 10:004
    Some languages provide macros which enable substitutions of
    keywords with the local equivalent.
    
    			---Walter
291.3BOMBE::PROBINSONJust causing trouble...Mon Nov 26 1990 14:129
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.4SAUTER::SAUTERJohn SauterMon Nov 26 1990 15:408
    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.5BOMBE::PROBINSONJust causing trouble...Mon Nov 26 1990 16:168
>    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.6SAUTER::SAUTERJohn SauterMon Nov 26 1990 16:389
    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.7CHOVAX::YOUNGOperation Imminent Blunder.Mon Nov 26 1990 22:598
    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.8deeper historySAUTER::SAUTERJohn SauterTue Nov 27 1990 07:5228
    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.9English is very flexibleCOOKIE::R_TAYLORRichard TaylorTue Nov 27 1990 11:1918
    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.10The secret history of computing:CHOVAX::YOUNGOperation Imminent Blunder.Tue Nov 27 1990 11:4544
    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.11But IBM didn't *want* English to dominate....SKYLRK::WHEELERLLLloyd WheelerTue Nov 27 1990 21:489
    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.12Adding heat to the fire...COOKIE::WALLACEOnly dumb questions are not asked...Tue Nov 27 1990 21:5414
    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.13BOLT::MINOWCheap, fast, good; choose twoFri Dec 07 1990 15:2025
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.14AUSSIE::BELLCharitas Patiens estSun Dec 09 1990 17:116
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.15i18n compilerI18N::YOSHIOKANo More ReengineeringWed Jun 12 1991 09:1513
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.16MU::PORTERBad parameter valueWed Oct 09 1991 00:1753
    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.17Optional optionsTLE::AMARTINAlan H. MartinMon Oct 14 1991 16:525
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