3 ms·
The big thing is not so much the changes that you need to make for Python 3, but supporting both from the same code base. Combined with the fact that this is of
by sambe 10y ago
The big thing is not so much the changes that you need to make for Python 3, but supporting both from the same code base. Combined with the fact that this is often very necessary and will continue to be necessary for quite a while (LTS distros on Python 2.6 or 2.7), people think "why not just use the minimum?". If you have good support from things like six and good testing then it's possible, but it certainly adds a development tax.
Python 3 has been adding more features (especially concurrency-related) that don't seem to be getting back-ports, or at least the libraries that support them in Python 2 lack the ergonomics of nice syntax sugar. Eventually there'll be a tipping point of all major LTS releases on 3.x and enough carrots in Python 3 that none of the little things will matter any more.