[Python-3000] Support for PEP 3131
Stephen J. Turnbull
stephen at xemacs.org
Tue Jun 12 05:35:44 CEST 2007
Baptiste Carvello writes:
> I wouldn't be so sure. In open source, you never know in advance to
> whom your code can be useful. Maybe some part of you chinese tax
> software can be refactored into a more generic library. If you
> write the software with non-ASCII identifiers, this refactored
> library won't be usable for non-chinese speakers. A good
> opportunity will be missed, but *you won't even know*.
You won't know anyway, because you can't read the project's home
page. You won't be able to refactor, because you can't read the
Only if the developer already has the ASCII/English discipline will it
be practical for a third party to do the refactoring. Otherwise, it
will be easier and more reliable to just write from scratch. Such
developers, who want a global audience, will pretty quickly learn that
external APIs need to be ASCII.
> good point, but I'm not sure it is so much more difficult to
> identify identifiers, given that you already need to know ASCII
> characters in order to identify the keywords. Sure, you won't
> understand what the identifiers mean, but you'll probably be able
> to tell them from one another.
It is much harder to do so if your everyday language does not use a
Latin alphabet. At least at the student level, here in Japan Japanese
(and to some extent, Chinese and Korean exchange students) make many
more spelling typos and punctuation errors in their programs than do
exchange students from the West. One sees a lot of right/write (or,
for Japanese, right/light) errors, as well as transpositions and
one-letter mis-entry that most native speakers automatically catch
even in a cursory review.
I don't know that it would be better if they could use Japanese
identifiers, but I'd sure like to try.
> > We are all consenting adults and we know that we should code in
> > english if we want our code to be used and to be a first class
> > citizen of the open source world. What do you have to support
> > your prediction?
> I have experience in another community, namely the community of
> physicists. Here, most people don't know in advance how you're
> supposed to write open source code. They learn in the doing. And if
> someone starts coding with non-ASCII identifiers, he won't have
> time to recode his program later. So he will simply not publih
> it. Lost opportunity again.
Why won't he publish it? The only reason I can see is that somebody
has indoctrinated him with all the FUD about how non-ASCII identifiers
make a program useless. If you tell him the truth, "it will be more
useful to the world if you make those identifiers ASCII", won't the
great majority of physicists just say "it does what people like me
need, generalization is somebody else's job" and publish as-is?
More information about the Python-3000