3 ms·
Yea, but what's to stop Python 4 from doing the same thing as Python 3? It's clear from the tone of this article that the python core devs haven't learned the
by dimva 11y ago
Yea, but what's to stop Python 4 from doing the same thing as Python 3?
It's clear from the tone of this article that the python core devs haven't learned the value of backwards compatibility even after their huge python 3 failure. The author makes it seem like the problem preventing python 3 adoption was python users' unwillingness to accept the inevitable, rather than the poor migration path provided (especially initially).
In a massive, old production codebase, upgrading your platform is incredibly risky, even if no code changes are necessary. But when you have to make code changes in a dynamic language...
The thing is, not all systems have tests. Not all systems even have known, defined behavior. Upgrading these things can be a multi-month, very risky project.
Given that python 3's backwards incompatible changes were made for purely cosmetic reasons and there are few compelling reasons to upgrade, I totally get the anger people feel. I work in startups with relatively new codebases and good test coverage, but I can empathize with other types of organizations. I'm shocked that python devs don't, even after 7 years.
- closed 11y ago> Yea, but what's to stop Python 4 from doing the same thing as Python 3? If it's any consolation, Guido learned his lesson[1] and will avoid backward incompatibility for Python 4. [1] https://mail.python.org/pipermail/python-dev/2015-December/142361.html https://mail.python.org/pipermail/python-dev/2015-December/1...
- msellout 11y agoThat is an incorrect characterization of the core development team. https://opensource.com/life/14/9/why-python-4-wont-be-python-3 https://opensource.com/life/14/9/why-python-4-wont-be-python...
- takeda 11y agoThe reason it might be hard to port python 2 code to python 3 is because most likely it is buggy. Python 3 is much stricter about distinguishing bytes from strings. Making python 3 code compatible with python 2 (2.7 and 2.6) is much easier, granted you don't use new features exclusive to 3.x. That's what I did so far with multiple applications and have yet to find case where I couldn't make my code work on 2.x and 3.x with adding import _future_ and in some cases six module.