[Python-Dev] Spreading the Python 3 religion (was Re: PEP 414 - Unicode Literals for Python 3)

Stephen J. Turnbull stephen at xemacs.org
Wed Feb 29 08:23:53 CET 2012


martin at v.loewis.de writes:

 > One thing that the PEP will certainly achieve is to spread the myth that
 > you cannot port to Python 3 if you also want to support Python 2.5. That's
 > because people will accept the "single source" approach as the one right way,
 > and will accept that this only works well with Python 2.6.

Please, Martin, I dislike this idea as much as you do.  (There was no
-1 from me, though, because I don't work in the context of the claimed
use cases at all, but lots of people obviously find them persuasive.)

But in respect of myth-spreading, the problem with the PEP is the
polemic tone.  (Yeah, I've seen Armin's claim that it's not polemic.
I disagree.)  The unqualified claims that "2to3 is insufficient" and
the PEP will "enable side-by-side support" of Python 2 and Python 3 by
libraries are too extreme, and really unnecessary in light of Guido's
logic for acceptance.

As far as I can see, like 2to3, like u()/b(), this PEP introduces a
device that will be the most *convenient* approach for *some* use
cases.  If it were presented that way, with recommendation for its use
restricted to the particular intended use case, I don't think it would
have a huge effect on people's perception of the difficulty of porting
in general, including multiversion support including 2.5.  If others
want to use it, even though you and I think that's a bad idea, well,
we can blog, and "consenting adults" covers those users.

On the other hand, implementation of the PEP itself should have a
positive effect on the community's perception of python-dev's
responsiveness to its pain.  Ie, a lot of us feel strongly that this
is the wrong thing to do in principle -- but we're gonna do it anyway,
because part of the community wants it.

So, let's work on integrating this PEP into the more general framework
of recommendations for porting Python 2 code to Python 3 and/or
developing libraries targeting both.




More information about the Python-Dev mailing list