PEP 3131: Supporting Non-ASCII Identifiers

rurpy at yahoo.com rurpy at yahoo.com
Wed May 16 16:58:36 EDT 2007


On May 16, 1:44 am, René Fleschenberg <r... at korteklippe.de> wrote:
> rurpy at yahoo.com schrieb:
> > I'm not sure how you conclude that no problem exists.
> > - Meaningful identifiers are critical in creating good code.
>
> I agree.
>
> > - Non-english speakers can not create or understand
> >   english identifiers hence can't create good code nor
> >   easily grok existing code.
>
> I agree that this is a problem, but please understand that is problem is
> _not_ solved by allowing non-ASCII identifiers!
>
> > Considering the vastly greater number of non-English
> > spreakers in the world, who are not thus unable to use
> > Python effectively, seems like a problem to me.
>
> Yes, but this problem is not really addressed by the PEP.

I agree that the PEP does not provide a perfect solution
(whatever that is) to the difficulties faced by non-english
speaking Python users, but it provides a big and useful
improvement.

> If you want to
> do something about this:
> 1) Translate documentation.

Done.  (In some cases.)  For example here are the Standard
Library and Python Tutorial in Japanese:

http://www.python.jp/doc/release/lib/lib.html
http://www.python.jp/doc/release/tut/tut.html

(I mentioned this yesterday in
http://groups.google.com/group/comp.lang.python/msg/6ca67e21e9dc5358?hl=en&
but I can't critisize anyone for missing messages in this
hughmongous disscusion :-)

> 2) Create a way to internationalize the standard library (and possibly
> the language keywords, too). Ideally, create a general standardized way
> to internationalize code, possibly similiar to how people
> internationalize strings today.

Why?  Or more acurately why before adopting the PEP?
The library is very usable by non-english speakers as long as
there is documentation in their native language.  It would be
nice to have an internationalized standard library but there is
no reason why this should be a prerequisite to the PEP.

> When that is done, non-ASCII identifiers could become useful. But of
> course, doing that might create a hog of other problems.

I disagree, non-ascii identifiers are an immensely useful
change, right now.   Python is somewhat useable by non-english
speakers now, but the identifier issue is a significant barrier.
If I can't write code with identifiers that are meaninful to
me (and my non-fluent-in-english colleagues) then I either
write code that is hard to understand by anyone (using ascii
transliterations) or write code understandable to you but
not me (using english).  Neither option makes sense and
in practice I just use some language other than Python.

> > That all programers know enough english to create and
> > understand english identifiers is currently speculation or
> > based on tiny personaly observed samples.
>
> It is based on a look at the current Python environment. You do *at
> least* have the problem that the standard library uses English names.

I don't know every nook and corner of the standard library.
Even as an english speaker, I only look up names for things
I already know.  Those same things I recognise in code
because I use them.  Otherwise I look in the index (which
is in my native language if I am not fluent in english).  True,
I can't use docstrings effectively.  And true, I can't guess at
the use of an unfamiliar name (but I have documentation)
Neither of those prevent my effective use of Python, nor
negate the immense value to me of being able to write code
that I and my colleagues can maintain.

So I see the use of english names in the standard lib as
a small problem, certainly not a reason to reject the PEP.

> This assumes that there is documentation in the native language that is
> good enough (i.e. almost as good as the official one), which I can tell
> is not the case for German.

There is a chicken-and-egg problem here.  Why would
many non-english speaking people want to adopt Python
if they cannot write maintainable (for them) programs in it?
If there aren't many non-english speaking Python users,
why would anyone want to put the effort into translating
docs for them?  This is particularly true for people that
use scripts not based on latin letters.




More information about the Python-list mailing list