PEP 3131: Supporting Non-ASCII Identifiers

Carsten Haese carsten at uniqsys.com
Wed May 16 09:49:22 EDT 2007


On Wed, 2007-05-16 at 14:35 +0200, René Fleschenberg wrote:
> You have misread my statements.
> 
> Carsten Haese schrieb:
> > There is evidence against your assertions that knowing some English is a
> > prerequisite for programming 
> 
> I think it is a prerequesite for "real" programming. Yes, I can imagine
> that if you use Python as a teaching tool for Chinese 12 year-olds, then
> it might be nice to be able to spell identifiers with Chinese
> characters. However, IMO this is such a special use-case that it is
> justified to require the people who need this to explicitly enable it,
> by using a patched interpreter or by enabling an interpreter option for
> example.

There you go again with "real" programming. Nobody that I'm aware of
dictates that Python must only be used for real programming.

It sounds like you are acknowledging that there are use cases for
allowing non-ASCII identifiers after all. Making some switch for
enabling this feature is a compromise that has been suggested on this
thread before, including by yours truly. I wouldn't even be opposed to
making this switch be off by default, as long as the feature is there
for people who need it.

> > in Python and that people won't use non-ASCII
> > identifiers if they could. 
> 
> I did not assert that at all, where did you get the impression that I
> do? If I were convinced that noone would use it, I would have not such a
> big problem with it. I fear that it *will* be used "in the wild" if the
> PEP in its current form is accepted and that I personally *will* have to
> deal with such code.

Yes, I apologize, I completely mangled your assertion. I don't know what
I was thinking when I wrote that. In reality you asserted, and I'll
quote verbatim this time: "It is naive to believe that you can program
in Python without understanding any English once you can use your native
characters in identifiers." It is precisely this assertion that is being
disproved by HYRY's students who *do* program in Python without
understanding any English[*], using native characters in identifiers.
But they have to launder their programs before they can run them.

[*] And if you respond that they must know "some" English in the form of
keywords and such, the answer is no, they need not. It is not hard for
Europeans to learn to visually recognize a handful of simple Chinese
characters without having to learn their pronunciation or even their
actual meaning. By the same token, a Chinese person can easily learn to
recognize "if", "while", "print" and so on visually as symbols, without
having to learn anything beyond what those symbols do in a Python
program.

Regards,

-- 
Carsten Haese
http://informixdb.sourceforge.net





More information about the Python-list mailing list