|
|
 |
 |
 |
 |
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?
Ross Ridge wrote: > 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.
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
Ross Ridge wrote: > 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.
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:
> Ross Ridge wrote: > > 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. > 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.
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:
> 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
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/
|
 |
 |
 |
 |
|