<html>
<body>
Some examples in Etoys of Multilingual programming. Besides the Japanese
version shown here, some students in Japan have done a better one that
also uses Japanese syntax (this turns out to help many young children, as
one might expect). The Spanish one is particularly good as it has had the
useful pressure of being used heavily in Spain.<br><br>
Cheers,<br><br>
Alan<br><br>
<img src="cid:7.0.1.0.2.20070313061654.0762e5a0@squeakland.org.0" width=717 height=538 alt="[]">
<br><br>
<br><br>
At 07:46 PM 3/12/2007, Andrew Clunis wrote:<br>
<blockquote type=cite class=cite cite="">-----BEGIN PGP SIGNED
MESSAGE-----<br>
Hash: SHA1<br><br>
Ian Bicking wrote:<br>
&gt; Since there's been some talk of programming environments and
whatnot, I<br>
&gt; thought I'd throw out some ideas about the whole English focus of
most<br>
&gt; programming.<br>
&gt; <br>
&gt; Anyway, I've thought a lot about how it might be possible to use
other<br>
&gt; languages in Python code, and I can't come up with anything
even<br>
&gt; slightly useful.&nbsp; With sufficient cleverness, it might be
possible to<br>
&gt; support other languages in isolated code, but it's so isolated that
it<br>
&gt; requires cutting off the rest of the environment.&nbsp; You can't
reasonable<br>
&gt; translate things like dict.items, or the standard library, or the
code<br>
&gt; that's going to be written by English speakers; and English will be
the<br>
&gt; only common language among developers indefinitely, since there's
no<br>
&gt; other common language to replace it, just local languages.<br>
&gt; <br>
&gt; Still, we could create miniature environments where largely
non-English<br>
&gt; code could be written.&nbsp; It would involve lots of wrappers and
custom<br>
&gt; libraries or wrappers and some hiding of libraries in tracebacks
and<br>
&gt; elsewhere.&nbsp; Keywords would still be left.&nbsp; But the result
is so<br>
&gt; constructed and isolated, I'm not sure if it's any better than
just<br>
&gt; using a different language.<br>
&gt; <br>
&gt; Something that can be localized reasonably easily is the
documentation<br>
&gt; itself.&nbsp; That could even include docstrings -- a small hack to
help()<br>
&gt; and/or pydoc could look up translated docstrings, probably just
leaving<br>
&gt; the original docstrings in place.&nbsp; This could be useful.<br>
&gt; <br>
&gt; Another option that came up in conversation (though I've forgotten
the<br>
&gt; guy's name) is to use a language more suited to translation (like
Logo,<br>
&gt; or eToys scripting) but really focus on using that as a bridge
to<br>
&gt; English programming.&nbsp; That could be done simply by offering
translations<br>
&gt; as much as possible.&nbsp; E.g., if they type in:<br>
&gt; <br>
&gt;&nbsp;&nbsp; para cuadrado :longitud<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; repetir 4 [ad :longitud iz 90]<br>
&gt;&nbsp;&nbsp; fin<br>
&gt; <br>
&gt; And they get alongside (and they could use at any time if they
want):<br>
&gt; <br>
&gt;&nbsp;&nbsp; to cuadrado :longitud<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; repeat 4 [forward :longitud left 90]<br>
&gt;&nbsp;&nbsp; end<br>
&gt; <br>
&gt; This is only somewhat helpful, since the language used in Logo and
eToys<br>
&gt; doesn't actually line up with Python.&nbsp; But maybe that should be
a goal;<br>
&gt; at least with Logo it *could* line up.&nbsp; There's no repeat in
Python, but<br>
&gt; &quot;to&quot; is &quot;def&quot;, for *could* be added
(&quot;for&quot; seems to mean lots of<br>
&gt; different things), it could have significant indentation, and some
other<br>
&gt; renaming.<br>
&gt; <br>
&gt; Anyway, just throwing out some ideas.<br>
&gt; <br><br>
This has been a pretty serious concern for Develop activity.&nbsp; It
seems<br>
like we are basically resigned to forcing people to at least learn
the<br>
pseudo-english mnemonic keywords.&nbsp; However, I have been thinking
that it<br>
might be possible to make a gettext-like translation database of the<br>
docstrings in commonly used APIs.<br>
<br>
That, and a properly translatable OLPC Programmers' Manual would go
a<br>
long way to improving matters without doing anything too
drastic.<br><br>
As I mention in the last section
<a href="http://wiki.laptop.org/go/Develop" eudora="autourl">
http://wiki.laptop.org/go/Develop</a> ,<br>
though, a translation matrix of language keywords (at least for
Python)<br>
probably creates more problems than it solves...<br><br>
- --<br>
Regards,<br>
Andrew Clunis<br><br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1.4.3 (GNU/Linux)<br>
Comment: Using GnuPG with Mozilla -
<a href="http://enigmail.mozdev.org/" eudora="autourl">
http://enigmail.mozdev.org</a><br><br>
iD8DBQFF9h6tALkUMXSNow8RAiYOAKCHUNwGdm2bIh3mucL1fBMj4jBsAQCfTmBx<br>
tNmyM8OgStdCyWDbtfcE36E=<br>
=zbZf<br>
-----END PGP SIGNATURE-----<br>
_______________________________________________<br>
Sugar mailing list<br>
Sugar@laptop.org<br>
<a href="http://mailman.laptop.org/mailman/listinfo/sugar" eudora="autourl">
http://mailman.laptop.org/mailman/listinfo/sugar</a></blockquote></body>
</html>