I am curious about how often are computer languages themselves translated.
Historically, it would seem that non-English speakers have
had a substantial disadvantage when it came to programming
because not only is the documentation in terse, highly
technical English filled with obscure jargon, but the
languages themselves are often composed of English words
with a loosely coupled meaning.
Unlike mathematics or engineering, where equations look
pretty much the same in any language (i.e. "E=mc
2"
or what have you) because of the use of Latin and Greek
symbols, computer programming has taken a decidedly English
bent ever since the first real "langauges" evolved out of
the primordial machine language, and this includes assembly
language.
If you had no idea what English was, and perhaps had only
recently learned the Roman alphabet, Perl code, which can
often look like line noise even to the average educated
English-speaking programmer,
may look even more inscrutable.
Can you tell what this really basic Perl program does?
#!/wba/xqf/rtla
dom cdzwcw;
dom MZW jp (:biafcluv);
ib ($i) = unx MZW;
pldml $i->pzvbno();
pldml <<NFC;
<DUUT>
<GHHE>
<QPDKS>Gl Jbipl Ricf</QPDKS>
</GHHE>
<CFQD DSFXHYU=Fgzqu>
<K>Gchne, dcgdz!</K>
</CFQD>
</DUUT>
NFC
Which would be even further complicated if the programmer
wasn't even used to reading "right-to-left", such as Hebrew,
or Arabic.
In a discussion with some associates, we were debating the
merits of translating the syntax of a given language,
such as HTML or Perl, into a coherent and understandable
version for another language. I was thinking that even if
this alternate version required a filter or parser to work
properly, it would certainly chop a few major steps out
of the learning curve, such as "Step 1: Learn English (One
of the Most Unwieldly Languages on Earth)".
Translating the core syntax shouldn't be a terribly difficult
job, at least technically speaking. This could be done any
number of ways, from a module which would work on any program
by
Filtering the input, to a re-compiled interpreter which
was called if the program was in a certain format. Converting
between syntax-sets could be done easily, as the symbols
may be represented by different characters. "A `shift' by any
other name..." as Shakespeare might have said, were he a
Perl programmer instead of a playwright.
Progressive projects like the
Multilingual Domain Names are making
the Internet a whole lot more understandable and accessible
to the world at large. Certainly the programming languages
that have made the Internet what it is today will make
a similar effort.
Too wacky, or is this sort of thing worth considering?