[Python-ideas] Create Python 2.8 as a transition step to Python 3.x
Steven D'Aprano
steve at pearwood.info
Mon Jan 20 01:16:40 CET 2014
On Sun, Jan 19, 2014 at 08:18:19AM -0600, Neil Schemenauer wrote:
> On 2014-01-19, Steven D'Aprano wrote:
> > [Neil]
> > > - if people install this new version of Python as the default, old
> > > scripts and programs will break. [...]
> >
> > - It gives people an excuse to avoid migrating, and as sure as the sun
> > rises in the east, will lead to people calling for Python 2.9 a few
> > years from now.
>
> That would be progress though. My proposed 2.8 would have most of
> the incompatible changes from 3.x so if people port it they will be
> much closer to 3.x.
Progress towards what, though? You say that they will be "closer" to
migrating, but another way to look at it is that they will be *further
away* from migrating:
- the only work they have to do is the easy parts, like adapting from
zip returning a list to zip returning an iterator, in other words
the part of the migration which can be handled by a simple-minded
mechanical script like 2to3;
- in return they get access to many of the desirable new features of
Python 3;
- which reduces their incentive to tackle the big, difficult,
structural changes needed for Python 3 (e.g. handling text as
Unicode properly).
To me, that's a step backwards.
One aim here is for the core developers to have one code base to
maintain, not two. My grateful thanks to them for taking on all this
extra work, and it has been a lot of work, to make it easier for users
to migrate, but enough is enough. Adding 2.8 will extend that burden on
the core developers by at least three years (18 months of active
development plus 18 months of security features); adding 2.9 by the
same again. It is entirely appropriate for the core devs to draw a line
and say *this is when we stop supporting Python 2*, and that line has
been drawn a long time ago at 2.7.
If people don't migrate after a decade, they won't migrate after 16
years, especially if they get "all the good bits" apart from the Unicode
text model (which many English speakers don't care about), so what
you're actually suggesting is that the core devs agree to an extra 3-5
years of maintaining the 2.x series for the sake of people who will
very likely never migrate to 3.x.
--
Steven
More information about the Python-ideas
mailing list