[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