[Python-3000] PEP: Supporting Non-ASCII Identifiers

Terry Reedy tjreedy at udel.edu
Wed May 2 06:46:50 CEST 2007

"Giovanni Bajo" <rasky at develer.com> wrote in message 
news:f178kn$s0n$2 at sea.gmane.org...
On 01/05/2007 12.52, Martin v. Löwis wrote:

| Isn't this already blacklisted in PEP 3099?

In today's Pep Parade post, he implies no.

"PEP: Supporting Non-ASCII identifiers (Martin von Loewis)

I'm on record as not liking this; my worry is that it will become a
barrier to the free exchange of code. It's not just languages I can't
read (Russian transliterated to the latin alphabet would be just as
bad and we don't stop that now); many text editors have no or limited
support for other scripts (not to mention mixing right-to-left script
with Python's left-to-right identifiers). But if this receives a lot
of popular support I'm willing to give it a try. The One Laptop Per
Child project for example would like to enable students to code in
their own language (of course they'd rather see the language keywords
and standard library translated too...)."

OLPC, which is one realization of Guido's CP4E dream (computer programming 
for everyone), changes the ball game (to use an American expression).  I 
expect that most anyone with a college education from anywhere in the world 
has been exposed to latin characters and at least a few English words.  But 
the case is different, I think, for elementary kids.

Given that Guido has given the language and implementation freely and for 
free, I think it reasonable that he want to be able to read programs that 
recipients write.  And 'foreign' words are much easier for him and many of 
us to read, match, and differentiate* when transliterated to Latin chars 
than when written in one of the ever proliferating character sets.  (And I 
believe that Unicode is, sadly, encouraging the invention of unneeded new 
sets for obscure languages that would be much better off using one of the 
existing writing systems.)

* To understand a program, one must be able to match all occurences of the 
same identifier and differentiate different identifiers.

So, Martin, I suggest that you expand your proposal to include a 
transliteration mechanism and limit the allowed characters to those which 
can be translitered.  I presume that this would be an expanding set.  Once 
a mechanism is in place, people who want 'their' character set included can 
do the work needed for that set.

Terry Jan Reedy

More information about the Python-3000 mailing list