Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language


 
 
Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

Python Programming Language

Python, Dutch, English, Chinese, Japanese, etc.


The never-ending debate about PEP 3131 got me thinking
about natural languages with respect to Python, and I
have a bunch of mostly simple observations (some
factual, some anecdotal).  I present these mostly as
food for thought, but I do make my own
continent-by-continent recommendations at the bottom
of the email.   (My own linguistic biases are also
disclosed at the bottom of the email.)

Nationality of various technologists who use English
to some degree (keywords in their languages, etc.):

   van Rossum -- Dutch-born, now lives in California
   Wall -- American
   Matz -- Japanese
   Ritchie -- American
   Stroustroup -- Danish-born, lives in Texas
   Gosling -- Canadian
   McCarthy -- American
   Torvalds -- Finnish-born (but family spoke
Swedish), lives in Oregon
   Stallman -- American
   Berners-Lee -- English-born, did major work in
Geneva

A sampling of largish countries where English is
fairly widely known:

   United States (82% of inhabitants speak it at
home), Canada, United Kingdom, Australia, South
Africa, India

about China:
    largest country in the world by population
    Mandarin Chinese has 850 million speakers
    written Chinese dates back 4000 years, employs
5000 characters

about India:

   second largest country in the world by population
   official languages: Hindi, English, and 21 others
   major software outsourcing center (anecdotal)
   Hindi is Indo-European language with distinctively
different alphabet from English

about Japan:
    10th largest population
    world leader in robotics
    Japanese language mostly spoken in Japan
    major linguistic influences: Chinese, English,
Dutch
    kanji = Chinese characters
    hiragana and katakana -- syllabic scripts
    Latin alphabet often used in modern Japanese (see
wikipedia)

some European alphabets:

   Spanish -- accented, includes digraphs ch and ll
   German -- accented
   French -- accented
   Italian -- accented, no J/K/W/X/Y

Bringing Python to the world (all opinion here):

   Even in English-speaking countries, Python is
greatly underutilized.

   Even in environments where programmers commonly use
ASCII encoding, Python is greatly underutilized.

   Any focus on the current English/ASCII bias of
Python should mostly concern Asia, due its large
population, the 80/20 rule, the prevalence of
different writing systems in large Asian countries,
Asia's influence on technology in general, etc. (not
to mention Ruby!)

Asia:

   Python should be *completely* internationalized for
Mandarin, Japanese, and possibly Hindi and Korean.
Not just identifiers.  I'm talking the entire
language, keywords and all.

Europe:

   Lobby EU for more funding for PyPy.  Promote
cultural acceptance of English-ized spelling in the
context of writing software programs.

North America:

   Marketing, marketing, marketing.

South America:

   Focus first on translating Python documents, books,
etc. to Spanish.

Africa:

   write Python code for the XO-1 (aka $100 laptop)

Australia:

   no worries

Antartica:

   more Penguins than people

My linguistic biases:

    1) I speak American English natively.
    2) I live in a very multilingual city.
    3) I took 6 years of French in high school, but I
get very little exposure to the language in my
day-to-day life.
    4) I hear a LOT of Spanish in day-to-day life, and
I have first semester literacy.
    5) I have never learned Arabic, Mandarin,
Japanese, just to name a few major world languages.
    6) I have written software that has been
translated from English to other languages, but I only
once been the primary person to do the actual
internationalization, and it was a small project.
    7) Lots of U.S.-based programmers that I have
worked with speak English as their second or third
language.

___________________________________________________________________________ _________
Yahoo! oneSearch: Finally, mobile search
that gives answers, not web links.
http://mobile.yahoo.com/mobileweb/onesearch?refer=1ONXIC

Steve Howell  <showel@yahoo.com> wrote:

>about Japan:
>    major linguistic influences: Chinese, English,
>Dutch

English and Dutch are minor linguistic influences.

>    kanji = Chinese characters
>    hiragana and katakana -- syllabic scripts
>    Latin alphabet often used in modern Japanese (see
>wikipedia)

The Latin alphabet is generally only used for western or westernized
names, like Sony.

>Asia:

>   Python should be *completely* internationalized for
>Mandarin, Japanese, and possibly Hindi and Korean.
>Not just identifiers.  I'm talking the entire
>language, keywords and all.

This would be more convincing if it came from someone who spoke Mandarin,
Japanese, Hindi or Korean.

btw. Mandarin is a spoken dialect Chinese, what you're actually asking
for is a Simplified-Chinese version of Python.

                                        Ross Ridge

--
 l/  //   Ross Ridge -- The Great HTMU
[oo][oo]  rri@csclub.uwaterloo.ca
-()-/()/  http://www.csclub.uwaterloo.ca/~rridge/
 db  //  

--- Ross Ridge <rri@caffeine.csclub.uwaterloo.ca>
wrote:

> >Asia:

> >   Python should be *completely* internationalized
> for
> >Mandarin, Japanese, and possibly Hindi and Korean.
> >Not just identifiers.  I'm talking the entire
> >language, keywords and all.

> btw. Mandarin is a spoken dialect Chinese, what
> you're actually asking
> for is a Simplified-Chinese version of Python.

I'm just trying to divide-and-conquer the problem of
promoting Python literacy in the world.   To the
extent that you have a billion people in the world who
all speak/write a mostly common language, I wonder if
you wouldn't try to go even further than PEP 3131 and
truly translate Python to Chinese, whatever that
means.

I'm wondering if all the English keywords in Python
would present too high a barrier for most Chinese
people--def, if, while, for, sys, os, etc.  So you
might need to go even further than simply allowing
identifiers to be written in Simplified-Chinese.

___________________________________________________________________________ _________
Food fight? Enjoy some healthy debate
in the Yahoo! Answers Food & Drink Q&A.
http://answers.yahoo.com/dir/?link=list&sid=396545367

Steve Howell je napisao/la:

> some European alphabets:

>    Spanish -- accented, includes digraphs ch and ll
>    German -- accented
>    French -- accented
>    Italian -- accented, no J/K/W/X/Y

what about slavic languages?
in croatian you have five accented letters plus three letters for
digrahps. russian, bulgarian, serbian, macedonian, ukranian etc. use
cyrilic alphabet (lets not forget that russia isn't that small -
around 150 million people), polish also has some of its own
characters...
all in all, it is estimated that some 400 million people speak slavic
languages...

--- montyphy@gmail.com wrote:
> what about slavic languages?
> in croatian you have five accented letters plus
> three letters for
> digrahps. russian, bulgarian, serbian, macedonian,
> ukranian etc. use
> cyrilic alphabet (lets not forget that russia isn't
> that small -
> around 150 million people), polish also has some of
> its own
> characters...
> all in all, it is estimated that some 400 million
> people speak slavic
> languages...

Agreed, but FWIW, if you compared Slavic-writing
people to Chinese-writing people, I would think that a
higher percentage of Slavic-writing people would be
bilingual in terms of their ability to write code in
non-Slavic alphabets, due to various
cultural/geographical factors.

I don't predict a huge upswing in Slavic-writing
Python programmers after PEP 3131, even among
children.

___________________________________________________________________________ _________
It's here! Your new message!  
Get new email alerts with the free Yahoo! Toolbar.
http://tools.search.yahoo.com/toolbar/features/mail/

> Agreed, but FWIW, if you compared Slavic-writing
> people to Chinese-writing people, I would think that a
> higher percentage of Slavic-writing people would be
> bilingual in terms of their ability to write code in
> non-Slavic alphabets, due to various
> cultural/geographical factors.

of course. but maybe it would be a nice effort to enable writing code
in cyrillic, since it is a whole new alphabet. for the accented
letters from slavic (or other) languages, i agree that one wouldn't
gain much from enabling their use in source code.
but my point being, if we are going to add chinese and japanese, why
not do everything right and add all languages/alphabets? after all,
after adding chinese, how hard can it be to add a few accedented
letters :)

> I don't predict a huge upswing in Slavic-writing
> Python programmers after PEP 3131, even among
> children.

you are probably right.
Et le klingon ?

Please, don't forget klingons
SVP, n'oubliez pas les klingons

;o)

Mta-MCI je napisao/la:

> Et le klingon ?

> Please, don't forget klingons
> SVP, n'oubliez pas les klingons

> ;o)

je pense que le klingon utilise les mems lettres comme l'anglais

--- montyphy@gmail.com wrote:

> Mta-MCI je napisao/la:
> > Et le klingon ?

> > Please, don't forget klingons
> > SVP, n'oubliez pas les klingons

> > ;o)

> je pense que le klingon utilise les mems lettres
> comme l'anglais

Oui, mais en tous case, dans l'Enterprise on doit
utiliser le Java, a cause du patron d'une chevelure
pointu.

      ___________________________________________________________________________ _________
Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center.
http://autos.yahoo.com/green_center/

Lol!

What is a "sharp hair boss" ?

My boss does not look like a punk !

But he does want me to dance "la Java".

On Jun 4, 11:54 am, Ross Ridge <rri@caffeine.csclub.uwaterloo.ca>
wrote:
> Steve Howell  <showel@yahoo.com> wrote:

> >about Japan:
> >    major linguistic influences: Chinese, English,
> >Dutch

> English and Dutch are minor linguistic influences.

Obviously. But language evolves.

> >Asia:

> >   Python should be *completely* internationalized for
> >Mandarin, Japanese, and possibly Hindi and Korean.
> >Not just identifiers.  I'm talking the entire
> >language, keywords and all.

> This would be more convincing if it came from someone who spoke Mandarin,
> Japanese, Hindi or Korean.

I'm a Chinese.
Language/English is really a  big problem for Chinese programmers.
If python can be written in Chinese, it may become the  most  popular
program language in China(though popular alreay).
Considering the potential large amount of users in China,  the effort
of internationalization for Chinese will totally worth.

> btw. Mandarin is a spoken dialect Chinese, what you're actually asking
> for is a Simplified-Chinese version of Python.

Mandarin is not a friendly way of saying Chinese and it is totally
unacceptable in some area.
Either Simplified Chinese or Traditional Chinese  will be better.

and last but not least, python ROCKS.

In article <f402d8$23@rumours.uwaterloo.ca>,
Ross Ridge  <rri@caffeine.csclub.uwaterloo.ca> wrote:
>Steve Howell  <showel@yahoo.com> wrote:
>>about Japan:
>>    major linguistic influences: Chinese, English,
>>Dutch

>English and Dutch are minor linguistic influences.

                        .
                        .
                        .
Korean's arguably more important in Japanese philology than
Dutch.  Portuguese and Spanish are also present, at a level
somewhat below that of Dutch.
Steve Howell  <showel@yahoo.com> wrote:

>I'm wondering if all the English keywords in Python
>would present too high a barrier for most Chinese
>people--def, if, while, for, sys, os, etc.  So you
>might need to go even further than simply allowing
>identifiers to be written in Simplified-Chinese.

Translating keywords and standard identifiers into Chinese could make
learning Python even more difficult.  It would probably make things
easier for new programmers, but I don't know if serious programmers would
actually prefer programming using Chinese keywords.  It would make their
Python implementations incompatible with the standard implementation, they
wouldn't be able to use third-party modules and their own code wouldn't
be portable.  If novice Chinese programmers would have to unlearn much
of they've learned in order to become serious Python programmers are
you really doing them a favour by teaching them Chinese Python?

It would really only work if Chinese Python became it own successful
dialect of Python, independent of the standard Python implementation.
Chinese Python programmers would be isolated from other Python
programmers, each with their own set of third-party modules and little
code sharing between the two groups.  I don't think this would be good
for Python as whole.

                                        Ross Ridge

--
 l/  //   Ross Ridge -- The Great HTMU
[oo][oo]  rri@csclub.uwaterloo.ca
-()-/()/  http://www.csclub.uwaterloo.ca/~rridge/
 db  //  

In article <1180965224.136341.271@z28g2000prd.googlegroups.com>,
ahlongxp  <ahlon@gmail.com> wrote:

                        .
                        .
                        .
>I'm a Chinese.
>Language/English is really a  big problem for Chinese programmers.
>If python can be written in Chinese, it may become the  most  popular
>program language in China(though popular alreay).
>Considering the potential large amount of users in China,  the effort
>of internationalization for Chinese will totally worth.

                        .
                        .
                        .
Tcl can be (more-or-less) written in Chinese now.  How popular is it
among Chinese-speaking developers?

I don't see the problem here. The bytecode wouldn't change (right?). So
what? One would have to make sure that the interprter understands both
(or to generalize: all) language versions of python and wham! There you
go. It would also be trivial to write a Chinese<->English source code
translator (for key words; anything else of course isn't that simple).

/W

--- olive <ocolli@gmail.com> wrote:
> What is a "sharp hair boss" ?

"Sharp hair boss" came out from my translation into
French of "pointy-haired boss."

Wikipedia tells me I should have said "Boss a tte de
pioche."  

Here are some links, if you've never had the pleasure
of reading Dilbert:

http://fr.wikipedia.org/wiki/Personnages_de_Dilbert

http://en.wikipedia.org/wiki/Pointy-Haired_Boss

___________________________________________________________________________ _________
Bored stiff? Loosen up...
Download and play hundreds of games for free on Yahoo! Games.
http://games.yahoo.com/games/front

Wildemar Wildenburger  <wilde@freakmail.de> wrote:

>I don't see the problem here. The bytecode wouldn't change (right?).

Python code generally isn't shared as bytecode and it's not just keywords
we're talking about here, all standard Python identifiers (eg. "os" and
"sys") would be translated too.

>So what? One would have to make sure that the interprter understands both
>(or to generalize: all) language versions of python and wham!

That might work, you'd need both the standard and Chinese versions the
Python standard libraries.  I doubt anyone outside of China would want
a distribution that included both, so there would still be barriers to
code sharing between the two communities.

Interestingly, someone has already created a Chinese version of Python
much like Steve Howell suggested:

        http://www.chinesepython.org/cgi_bin/cgb.cgi/home.html
        http://www.chinesepython.org/cgi_bin/cgb.cgi/english/english.html

Apparently it hasn't been updated in almost four years, so I don't know
much use it gets.

                                        Ross Ridge

--
 l/  //   Ross Ridge -- The Great HTMU
[oo][oo]  rri@csclub.uwaterloo.ca
-()-/()/  http://www.csclub.uwaterloo.ca/~rridge/
 db  //  

olive schreef:

> Lol!

> What is a "sharp hair boss" ?

Pointy-haired boss, see http://en.wikipedia.org/wiki/Pointy_Haired_Boss

--
If I have been able to see further, it was only because I stood
on the shoulders of giants.  -- Isaac Newton

Roel Schroeven

Steve Howell wrote:
> I don't predict a huge upswing in Slavic-writing
> Python programmers after PEP 3131, even among
> children.

Are you predicting a sharp upswing in Chinese-writing (or any language)
Python programmers after PEP 3131 among children?  If so, why certain
groups of children and not others?

  - Josiah

--- Josiah Carlson <josiah.carl@sbcglobal.net>
wrote:

> Steve Howell wrote:
> > I don't predict a huge upswing in Slavic-writing
> > Python programmers after PEP 3131, even among
> > children.

I slightly misspoke here.  I meant to say children and
young adults, i.e. students up to early university
age.

> Are you predicting a sharp upswing in
> Chinese-writing (or any language)
> Python programmers after PEP 3131 among children?

Yes, and of course, it's just wild speculation on my
part.  A couple Chinese people have already weighed in
on this thread, so I'm curious to hear their
predictions too.

I don't how many Chinese people under the age of 20
use Python now, but if it's, for example, 1000 now,
and five years later, it's 15,000, I'd consider that
an upswing, and I consider that realistic.

> If so, why certain
> groups of children and not others?

Different forces, some of which I already mentioned:

   1) There are more young Chinese people than young
Slavic people.

   2) Slavic teenagers use an alphabet that is at
least structurally similar to ascii English (roughly
the same number of characters), so they have less to
gain from Unicode identifiers.

   3) I would think more Slavic young people have
exposure to English as a second language than Chinese,
although that may be rapidly changing.

On the other hand, it could be that PEP 3131 is
irrelevant to all of this speculation, and it really
just comes down to getting more documentation about
Python written in Chinese, and then waiting for a
critical mass of community to create some kind of
snowball effect.  I still think that's a long way off
in most countries, not just China.

___________________________________________________________________________ _________
The fish are biting.
Get more visitors on your site using Yahoo! Search Marketing.
http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php

On Jun 4, 6:12 pm, Ross Ridge <rri@caffeine.csclub.uwaterloo.ca>
wrote:

Instead of having many different Pythons for many different languages,
how about one for a language like Esperanto?

http://en.wikipedia.org/wiki/Esperanto

That could be the language for the standard libraries instead of
English.

> On Behalf Of Steve Howell
> Asia:

>    Python should be *completely* internationalized for
> Mandarin, Japanese, and possibly Hindi and Korean.
> Not just identifiers.  I'm talking the entire language,
> keywords and all.

I am a Japanese-to-English translator in my day job, and live in Japan. I
can say with confidence that most Japanese programmers do not want localized
keywords. Note that Yukihiro "Matz" Matsumoto created Ruby with
English(-styled) keywords.

One reason for preferring ASCII keywords and variable names is that typing
Japanese requires the use of a front-end processor (FEP), which considerably
slows and complicates typing output. One English-to-Japanese translator I
know finds it quicker to write his Japanese translations by hand, and have
his assistant type them (he types reasonably well in English). Additionally,
most Japanese programmers would probably prefer their programs to be
accessible outside Japan, and poorly named variables are a much lower
barrier to understanding than Japanese would be.

Regards,
Ryan Ginstrom

In <1180997172.657169.134@o5g2000hsb.googlegroups.com>, MRAB wrote:
> Instead of having many different Pythons for many different languages,
> how about one for a language like Esperanto?

> http://en.wikipedia.org/wiki/Esperanto

> That could be the language for the standard libraries instead of
> English.

Esperanto reminds me of the european union an its bureaucracy.  Complex,
bloated documents with much boilerplate that regulate small details.
Sounds more like a language for Java.  ;-)

What about Lojban?  Might be a better candidate for a programming language:

  http://en.wikipedia.org/wiki/Lojban

Ciao,
        Marc 'BlackJack' Rintsch

On Jun 5, 12:03 am, Marc 'BlackJack' Rintsch <bj_@gmx.net> wrote:

Nah! Esperanto for Python, Lojban for Prolog, and Vlapk for
Perl! :-)

--- MRAB <goo@mrabarnett.plus.com> wrote:
> Instead of having many different Pythons for many
> different languages,
> how about one for a language like Esperanto?

> http://en.wikipedia.org/wiki/Esperanto

> That could be the language for the standard
> libraries instead of
> English.

English beats Esperanto by a long shot in terms of
practical acceptance.   Also, Esperanto's 28-letter
alphabet makes it inferior to other written languages
that are compatible with Python's current 26-letter
alphabet that it inherits from English.

>From wikipedia:

'''
Because a working knowledge of English is required in
certain fields, professions, and occupations, English
is studied and spoken by up to a billion people around
the world, to at least a basic level...
'''

http://en.wikipedia.org/wiki/English_language

>From the same article:

'''
[When] combining native and non-native speakers
[English] is probably the most commonly spoken
language in the world, though possibly second to a
combination of the Chinese Languages, depending on
whether or not distinctions in the latter are
classified as "languages" or "dialects."
'''

See also:

http://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_sp...

___________________________________________________________________________ _________
Choose the right car based on your needs.  Check out Yahoo! Autos new Car Finder tool.
http://autos.yahoo.com/carfinder/

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc