4 ms·
The Python team is blind to the huge number of users that will never switch to Python 3. My industry (a large one) is currently standardized on RHEL 6 (and the
by foobar2357 11y ago
The Python team is blind to the huge number of users that will never switch to Python 3. My industry (a large one) is currently standardized on RHEL 6 (and the CentOS equivalent), which uses Python 2.6! I'm not generally able to install arbitrary software or demand upgrades without a lot of beurocracy. I was looking forward to the day when we move to RHEL 7 with Python 2.7.
I've started to view the lack of changes in 2.7 as a feature. I would value the stability and lack of breaking changes. Knowing that Python 2.7 is on a limited timeline, and that the Python 3 folks (users and developers) are trying to kill off 2.7, I can't think of any reason not to switch to another language.
In short, my field is nowhere near "acceptance" of Python 3, and the "anger" stage will just make us (me at least) leave Python behind. I will never want Python 3.x, and I don't even want Python 2.8. I wish people would recognize that stability is a virtue for some of us...
- mkesper 11y agoThe investment in porting your code from Python2 to Python3 should be many times smaller than porting to an entirely new language ecosystem.
- dimva 11y agoYea, 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.
- dozzie 11y agoOh, quite the contrary for any non-trivial application. If you were to rewrite your code in a totally different language, you would get most of that right on semantic level. But instead, you're going to need to adjust your code to a very similar language, which sometimes has totally different semantics. This is going to bite your ass every now and then, because it's very, very easy to miss some spots where you used old assumptions that don't hold in new environment.
- kevin_thibedeau 11y ago> the "anger" stage will just make us (me at least) leave Python behind By switching to Perl 4? If you're hobbled by dumb policies that prevent an upgrade to 2.7 how are you going to transition to something "better".
- slyall 11y agoIf you want fully supported Python 2.7 or 3.x on RHEL 6 then have a look at Redhat Software collections. https://access.redhat.com/products/Red_Hat_Enterprise_Linux/Developer/ https://access.redhat.com/products/Red_Hat_Enterprise_Linux/...
- hoodoof 11y ago>> huge number of users that will never switch to Python 3 I don't believe this assertion. All companies, projects, and developers have to move to the current version of Python eventually. Python 2 eventually is no longer supported. Python libraries will start to drop support for Python 2. Developers will see that for their career they need to have Python 3 skills. Jobs ads will require Python 3. Linux distros will drop Python 2. New libraries will start to appear that are only Python 3. Don't know when, but Python 2 will suddenly look very old.
- dozzie 11y ago> All companies, projects, and developers have to move to the current version of Python eventually. Well, yes, and that "eventually" is somewhere in ten or fifteen years.
- hoodoof 11y agoThere's no way to know the timeframe but tipping points can come very suddenly. I've seen a number of companies get stuck with a large code base built on old technology and it causes them huge problems, chiefly around finding people who can (and are willing to) program with an obsolete language. Companies with large Python 2 code bases will make things easier for themselves if they start making the transition sooner rather than later.
- kec 11y agoGiven that there are significant differences between python2 and 3, such that porting large codebases is a nontrivial task, why do you assume people with automatically decide to proceed with python3 instead of some other language? At this point, python3 doesn't just have to be better than python2, it also has to be better than Clojure/Swift/Julia/C++14/name a modern language.
- hoodoof 11y ago>> Given that there are significant differences between python2 and 3 Really? I don't think they are that different. If it was so different and hard to port then why have so many libraries been successfully update to support both http://py3readiness.org/ http://py3readiness.org/ You can't generalise but for the most part updating from Python 2 to Python 3 is likely to be easier and less risky and costly than doing a full rewrite in some other language. Some companies might rebuild in another language, that happens all the time - things get rebuilt from this to that. But why would a company ditch Python entirely in such a situation?
- nostrademons 11y agoI think the Python core team is very aware that there are some users that will never switch to Python 3. It's just not relevant to them. If you're never going to switch, and all future development is going to be on the Python 3 branch, they should just accept that you're not a Python 3 user, and can continue using the stable Python 2.6 deployments you already are. In the very long term, it's likely that your industry will be replaced. It's unlikely that this will be because of Python, though. Rather, technological change will continue to outpace bureaucracy and eventually the gap will become so big that some startup comes up with a new way of doing things and uses whatever the technologies of the future are to build their system.