[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