[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