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?
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.