Re: compiler for Chinese development language

Hans-Peter Diettrich <DrDiettrich@compuserve.de>
19 Oct 2005 02:42:12 -0400

          From comp.compilers

Related articles
[4 earlier articles]
Re: compiler for Chinese development language djg@tramontana.co.hu (DEÁK JAHN, Gábor) (2005-10-19)
Re: compiler for Chinese development language gentlezhao@126.com (gentlezhao) (2005-10-19)
Re: compiler for Chinese development language torbenm@app-6.diku.dk (2005-10-19)
Re: compiler for Chinese development language owong@castortech.com (Oliver Wong) (2005-10-19)
Re: compiler for Chinese development language Juergen.Kahrs@vr-web.de (=?ISO-8859-1?Q?J=FCrgen_Kahrs?=) (2005-10-19)
Re: compiler for Chinese development language kenrose@tfb.com (Ken Rose) (2005-10-19)
Re: compiler for Chinese development language DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2005-10-19)
Re: compiler for Chinese development language haberg@math.su.se (2005-10-19)
Re: compiler for Chinese development language gah@ugcs.caltech.edu (glen herrmannsfeldt) (2005-10-19)
Re: compiler for Chinese development language gah@ugcs.caltech.edu (glen herrmannsfeldt) (2005-10-20)
Re: compiler for Chinese development language mailbox@dmitry-kazakov.de (Dmitry A. Kazakov) (2005-10-20)
Re: compiler for Chinese development language Satyam@satyam.com.ar (Satyam) (2005-10-20)
Re: compiler for Chinese development language sgganesh@gmail.com (Ganny) (2005-10-20)
[13 later articles]
| List of all articles for this month |

From: Hans-Peter Diettrich <DrDiettrich@compuserve.de>
Newsgroups: comp.compilers
Date: 19 Oct 2005 02:42:12 -0400
Organization: Compilers Central
References: 05-10-08505-10-096 05-10-107
Keywords: i18n

Ganny wrote:
>
> I do agree that you can provide all your identifiers with native
> characters (Unicode). But how about those who dont know English? the
> keywords such as "public" or "synchronized" can be obvious and taken
> for granted for those who know some English, but there are many
> (probably in millions in countries like China and India) who know only
> their native language.


Native languages are not (yet) appropriate for programming, so every
programmer must begin with learning a dedicated programming language.


> Forget about programming, even using the computers itself is difficult.


Correct and usable translations from one natural language into another
one still cannot be made automatically. Some OS offer means to
translate words into the user's language, but that's of little help to
users which never have learned a different language themselves. With
open source code it's no big problem to translate all the
documentation and commands, it only requires (at least) one person
that speaks the target language fluently - it's not a technical or
commercial problem. With closed source code it's a matter of time and
money, of course, so I recommend that people should use systems and
programs with open source code, so that they can help themselves
whenever necessary.




> So I do think, unless some conscious effort is made in supporting
> vernacular languages, it would be difficult to program for those who
> know only their mother tongue.


As mentioned above, writing programs requires to learn a programming
language. There have been attempts to translate programming languages,
but it turned out that this was not a good idea, in the long term. For
some time I've been happy that my German version of Word couldn't run
English macro viruses, due to the different languages (keywords,
standard function and menu names...). But for the same reason also
useful macro libraries were unusable, when written for and in a
different language :-(


Even worse with compiled languages, where a programmer must unambigously
identify every library subroutine. Even if somebody writes a tool to
translate all names in source code, from one language into another,
based on a dictionary, the linker and debugger require unique names in
one commonly used language. So every tool, related to building programs,
would have to use the same dictionary for the presentation of the
standard names in the user's language. Again it were not a technical
problem with open source tools, but I don't know about reasonable
attempts to extend all the tools accordingly. Perhaps you want to start
your own try, together with other appropriately skilled people?




> Ok, one basic question. Why is that the programming languages (like
> C++) have reserved keywords in English? Why not some other
> language/alternative?


Just C has few keywords, the operators and many other syntactic elements
already are symbolic, where other languages are more verbose instead.
There have been more symbolic programming languages, like APL, which
then required appropriate keyboards and displays for reading and
entering source code. The users still had to learn the meaning of the
symbols, only the compiler was happy with the simple "spelling" of the
keywords. But again every programmer had to learn the names *and* the
meaning of all used library functions, and it turned out that English
names are just as good as names in any other language. Most important is
that everybody agrees about the meaning of every single name, when
talking to other people or to his programming tools.




> [... A compiler doesn't care of an "if" keyword is
> the two letters IF or SI or the Chinese equivalent, after all. -John]


That's correct, compilers have the least problems with languages.
Imagine what were when the Chinese had invented computing, and everybody
would be forced to write his code in Chinese glyphs <g>. Then you'll
understand better the problems of Ganesh and other people, for which
English is very different from their native tongue. Nonetheless I never
heard of reasonable, successful and accepted attempts to make
programming easier for non-English speakers. Is this really an
indication of some indoctrination, that makes people happy with English
programming languages, once they have mastered a language to a degree,
where they could make life easier to people of their native tongue?


DoDi


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.