[Python-3000] Support for PEP 3131

"Martin v. Löwis" martin at v.loewis.de
Sun May 13 20:27:34 CEST 2007

> Have there been studies on this kind of thing? Has there been any
> research into whether a mixture of English keywords and, say, Japanese
> and English identifiers makes a given programming language easier to
> learn and use? If so, why aren't they referenced in the PEP or linked
> in any emails?

There is anecdotal evidence that people intuitively use characters
from their native language, and then are surprised by the syntax errors.

Unfortunately, they are not required to report their usage to the
Ministry for Use Of Funny Characters In Programming Languages.

> Given the lack of evidence presented so far, my
> operating assumption is that the PEP's supporters -- including you --
> are making things up to support a conclusion that they might wish to
> be true.

Are you also assuming that I make up my mentioning of anecdotal

> Also, method/function names are traditionally expressed in English as
> verb phrases (e.g., "isElementVisible()") which dovetail nicely with
> Anglo-centric keywords like "if" and "for ... in ...". How do
> identifiers in languages with dramatically different grammars like
> Japanese -- or worse, different reading orders like Farsi and Hebrew
> -- interact with "if", "while" and the new "x if y else z" expression,
> which are deeply rooted in English grammar? My suspicion is, at least
> for right-to-left languages like Arabic, not well, if at all.

I don't speak Farsi, Arabic, or Hebrew, so I can't comment on that.
I know that in German, if/while is not an issue at all. People
regularly read "if" aloud as "wenn" or "falls".

> Lastly, I take issue with one of the PEP's guidelines under the
> "Policy Specification" section: "All identifiers in the Python
> standard library...SHOULD use English words wherever feasible"
> (emphasis in the original). Are we now going to admit the possibility
> that part of the standard library will be written in English, some
> parts will be written in Spanish and this one module over there will
> be written in Czech? Absolutely ludicrous.

The emphasis follows the convention of RFC 2119; it's not an emphasis,
but an indication of specification.

3. SHOULD   This word, or the adjective "RECOMMENDED", mean that there
   may exist valid reasons in particular circumstances to ignore a
   particular item, but the full implications must be understood and
   carefully weighed before choosing a different course.

There are already deviations from that rule in the standard library:


all are not proper English words.


More information about the Python-3000 mailing list