[Python-3000] Support for PEP 3131

Guido van Rossum guido at python.org
Mon May 14 02:39:54 CEST 2007

On 5/13/07, Guillaume Proux <gproux+py3000 at gmail.com> wrote:
> On 5/14/07, Guido van Rossum <guido at python.org> wrote:
> > of actual user experiences with this feature, in Java or in any other
> > language that supports it. (*Are* there any others?) That would be far
> > more valuable to me than any continued argumentation for or against
> > the proposal.
> Interestingly, this is *not* a well known fact. I have asked 2
> friend-of-mine seasoned Java programmers and they were *amazed* that
> this is supported.

Well, maybe we should add it to Python as a secret feature. :-) :-) :-)

> However, if you consider XML as a language, then there was plenty of
> discussion in the past talking about the benefits of allowing unicode
> characters in tags.
>  see e.g. http://lists.xml.org/archives/xml-dev/200107/msg00254.html

I imagine the situation there is sufficiently different though; XML is
data, not code.

> > I also note that there's no particular reason why this needs to be
> > done exactly in 3.0. It's not backwards incompatible -- it could be
> As one realizes that this needs to be done, then I would love to see
> that introduced in 2.5 :)

I realize you've added a smiley, but please, don't propose new
features for a release that's already been released. The release
managers will put you in jail and not let you out until 4.0 has been
released. :-)

> > don't consider it an early design mistake to only require ASCII -- at
> > the time it was the only sane thing to do and I'm far from convinced
> > that it needs to change now.
> I wish you would be able to let us know precisely what hinders you in
> accepting this change.

Because most people still use systems that have very inadequate tools
for handling non-ASCII text, especially non-Latin-1 text. For example,
at work I use Ubuntu, a modern Linux distribution actively supported
by a company headquartered in South-Africa. Their main market lies
outside Europe and North America. And yet, there is no standard way to
enter non-ASCII characters as basic as c-cedilla or u-umlaut; the main
tools I use (Emacs, Firefox and bash running in a terminal emulator)
all have different input methods, different ideas of the default
character encoding, and so on. It's a crapshoot whether
copy-and-pasting even the simplest non-ASCII text (like the name of
PEP 3131's author :-) between any two of these will work.

I see program code as a tool for communication between people. Note
how you & I are using English in this thread even though it is not the
mother tongue for either of us. So we use English, since we can both
read and write it reasonably well. This is the *only* way that
programmers raised in different countries can exchange code at all.
(It may change if at some point in the future computer translation
gets 1000x better, but we're not there yet -- try translate.google.com
if you don't believe me.)

Now, you may disagree with me on the conclusion even if you agree on
the premises. But you asked for my motivation, and this is it.

> After reading the following document,
> http://www.python.org/doc/essays/foreword/ , I expected you would be
> very open-minded to that change especially when you are talking about
> "the emphasis on readibility" and how you came up with Python as an
> evolution of ABC "a wonderful teaching language" because I can't fail
> to see how such change would be incredibly important for Python as a
> "wonderful teaching language" especially towards children in countries
> where latin characters are really foreign.

You're stretching my words there. The issue if translation hadn't
crossed my mind when I wrote that (over 10 years ago) and the tools
*really* weren't ready then. And regarding readability, if all the
programmers in the world agreed to use broken English, the readability
of their code to each other would be much better dan als we allemaal
in onze eigen taal schreven.

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-3000 mailing list