Since Kirby invoked me by name ;), I'll jump in with a quick top post, a) because I'm lazy and in a hurry, and b) because my comments are only generally related to the specifics of the previous posts. Apologies.
Hi Vernon,... not to be confused with Vern "the Watcher" Ceder.On Mon, Jul 18, 2011 at 8:47 AM, Vernon Cole <vernondcole@gmail.com> wrote:
There is a very good reason for this: standard library code must be readable for people all over the world. That's why a Dutch software engineer wrote a language in which all the keywords and commentary are in English.Yes, the Standard Library is to be Anglicized for some time to come,maybe always, per Guido's talks.Of course there's nothing to stop someone from writing a translatorfor the Standard Library, such that the source originals (as modified)might be rendered in myriad other charactersets.Top-level names tend to be amenable to such treatment.This may be done down to the C family level, though I'm not suggestingthat it should be (nor are all Python implementations C family I hastento add, (a Jython is "C family" if the Java VM is)).The same is not true for 3rd party modules which, as you say,may be written in any style.Learning the Latin (English) alphabet, building a vocabulary, remainsa good idea obviously, along with ASCII in the context of Unicode.I expect those focused in computer science will continue givingthemselves the benefit of this learning.I received Romanized Indonesian source code for quite awhile, untilthe student moved to Japan and apparently stopped doing Python.I'm impressed with all the alphabets you know.3rd party modules written in Cyrillic with the peppering ofRoman we know must be there, thanks to Standard Library(untranslated) and the 33 keywords (so far), could be usedin computer science to help English speakers learn aCyrillic language.>
> The flip side argument, which I find more persuasive, is that
> one of the biggest barriers to diversity is over-reliance on Latin-1,
> and "just ASCII" in particular.
>> The whole point of Unicode was to open up source code writing,I disagree. The whole point of Unicode is to open up application writing, so that _users_ can see computer output in their own languages. A person who wishes to pursue code writing as an occupation must understand and use English -- or be relegated to producing work only for his own culture. In the modern "flat" world, English is the language of commerce and computer programming. Not being able to write understandable English is a severe handicap. My programs are written in Python, documented in English, and usable by persons of another language. For example, see CaesarCalc.py from https://launchpad.net/romanclass , which assumes the user to be able to understand pigeon Latin. Even then, I give the result of (XVI - XVI) as "Nulla" because I expect that most users will not recognize "Nvlla" as meaning "nothing."
> as an occupation, to more than just Euro-English speakers.
Certainly the GUI needs to be intelligible yes.Lets just say there's a school of thought that hasno problem with a math, logic or grammar teacherusing only Chinese characters for top level namesin various exercises using Python or otherUnicode aware computer language. And noproblem with another teacher using only Hebrewcharacters for top level names and so on.This school of though hangs out on the PythonDiversity list and self-organizes there. If you goback in the archives, you'll find myself and aguy named Carl doing stuff in the Python wikito expand the language base, including at thesource code level. With Pycon / Tehran in theplanning, we want to be in a better position toaddress issues relating GeoDjango to Farsi, say.These exercises (mentioned above) may havenothing to do with writing commercial applications.These may not be programmers in training(though some may be in commercial media,where "programming" also has meaning (e.g.in radio / TV)). Instead of using a calculatoror abacus to learn numeracy skills, peoplehave laptops and internet access.Having readable source code in languagesthat aren't in a Roman alphabet is alreadya spreading phenomenon, with many writershappily giving up that so-called "world readability"in favor of remaining intelligible to the girl or boynext door.The syntax of URIs and domain names hasalready taken this turn. You will have http//arabic letters//quite frequently these days, thanks to theUnicode basis of http (which Python now needsto deal with, and does, as an http-aware language).CSS for Arabic is the kind of style concern forwhich we may have insufficient literature to date.We may have people joining Diversity who want todevelop that literature (recruiting happening).Here is sample output. Notice that, when it blows up the traceback is in Python with English explanations:
<console dump>
procer numerus hic:III - II
I
procer numerus hic:3 - 2
I
procer numerus hic:3 - 3
Nulla
procer numerus hic:2 - 3
Traceback (most recent call last):
File "CaesarCalc.py", line 40, in <module>
print (cvt(subtrahends[0]) - cvt(subtrahends[1]))
File "/home/vernon/romanclass-1.0.1/romanclass.py", line 99, in __sub__
return Roman(self.__int__() - other)
File "/home/vernon/romanclass-1.0.1/romanclass.py", line 85, in __new__
raise OutOfRangeError, 'Cannot store "%s" as Roman' % repr(N)
romanclass.OutOfRangeError: Cannot store "-1" as Roman
</console dump>
IMHO, on the whole, PEP 8 is a pretty good document.
--
VernonI'm not denigrating PEP8 in any way, even thoughI used some light sarcasm in my post. That wasnot directed against PEP8, so much as againstthe idea that the "rule book" is somehow complete,just because we have it down that functions shouldgenerally not start with a capital letter, andl (lowercase L) is a terrible name for all purposesbecause it's so indistinguishable from uppercaseI and the number 1 in many fonts.I think as people start getting a lot more experiencewriting Python with different namespaces, withnon-Roman top-level names etc., that the rulebook is inevitably going to expand and that aBook of Styles could conceivably become enormous.But then think of English: we acknowledge manystyles as being appropriate and don't have justthe one "book" where style is concerned (we haveso many) -- not like the dictionary, with a goal ofincluding every word in a finite and deliberatelyexclusive set of standard words.I have some examples of Python source in myblogs, using kanji as top-level names (might bea Japanese program, as one of the kanji is forMt. Fuji as I recall).Then there's some tracking down Stallman ona visit to Sri Lanka (awhile back) and chatterabout Python in Tamil and Sinhalese. And yes,I am aware English is spoken in this parts as well,as evidenced by Arthur C. Clarke's having livedthere for so long. One of our CSN chiefs has atrack record there too, another English speaker.Kirby
_______________________________________________
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig