[python-uk] A paper about Python 2 to Python 3 transitioning

Nick Murdoch nick at nivan.net
Wed Jun 20 06:45:47 EDT 2018


On Wed, Jun 20, 2018 at 10:57:11AM +0100, Russel Winder wrote:
> Has anyone else seen this? Anyone any thoughts about it?
> 
> https://people.cs.clemson.edu/~malloy/publications/papers/esem2017/paper.pdf

I think the biggest assumption here is that existing projects both need to use
new features added to the language, and that, as libraries, they don't have a
large requirement to maintain backward compatibility with earlier versions.
One of their example libraries is astropy, which I imagine is used in some
pretty legacy systems around the place, and would immediately be full of bug
reports if they broke Python 2 compatibility.

Identifying libraries created only after Python 3 was released, and if those
were ignoring Python 3 features might be a better way to identify actual
language uptake.

It's also interesting that they state that there weren't many language changes
between Python 2.3 and 2.4 -- at the time I remember being *desperate* to get
onto Python 2.4 for decorators, set builtins, generator expressions, etc.
However, all the frameworks I was using at the time had to avoid them to
maintain compatibility for projects using older versions.

Waiting for 3.0, 3.1, and 3.2 to become obsolete (since the lack of explicit
unicode literals make writing 2-and-3 compatible code much more difficult) is
maybe also a factor. There's always a bit of a lag between a new Python release
and the version one's Linux distro of choice has available in its stable
repository.

As for this killing Python 3 -- unless something seismic happens and we get
a Python 2.8, I can't see it happening. More of a concern would be projects
using Python 2 after the announced 2020 End of Life -- there has been plenty
of warning for it.

What's really been a hurdle for me personally is extinction of older frameworks
that never converted to Python 3 -- Pylons to name an example. One can't just
throw away a whole framework dependency overnight on an existing codebase.


Cheers,

Nick


More information about the python-uk mailing list