Live data from Hacker News

Python 2 will be replaced with Python 3 in the next RHEL major release

access.redhat.com

21–30 of 341 posts

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#22
post #14

Earlier quoted context omitted.

The double standard when it comes to Python is mindblowing. No other language could have gotten away with such ridiculous fragmentation and perf regression for such a long period of time.

Not to mention the loss of tuple unpacking in function signatures. Even if i felt morally wrong about it, for the last few years I've been writing python2 with a few `from __future__`s at the top since it was fastest and most featureful and had all the libraries.

I'm not sure that tuple unpacking in function signatures is any great loss. It's a feature I hardly ever saw used and if you do need to unpack an argument then you can do so in the first line of the function's code.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#23
post #3

This is good: - Python 2 support officially ends somewhere in 2020 - most popular packages are now compatible with Python 3 - Python 3.7 performs about as well as 2.7 with future release expected to be better Although it still took way too long, if you consider Python 3.0 was released about 10 years ago.

The double standard when it comes to Python is mindblowing. No other language could have gotten away with such ridiculous fragmentation and perf regression for such a long period of time.

What do you mean by double standard? Everyone in the community, including the core developers, acknowledge that the 2 to 3 story was full of mistakes. They have promised not to make it again. And they took some actions to remedy the problems, and that's why Python 3 is finally succeeding.

I recommend this presentation by Victor Stinner at FOSDEM 2018 which talks about it: https://fosdem.org/2018/schedule/event/python3/

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#24
post #10

Earlier quoted context omitted.

The double standard when it comes to Python is mindblowing. No other language could have gotten away with such ridiculous fragmentation and perf regression for such a long period of time.

Many languages seem to suffer from legacy support. C++ and PHP for example. The double standard might be the only way to avoid this!?

The legacy support is a benefit for people who are still using it.

The lesson from both Perl and Python is clear: you cannot remove language features - if you do you're creating a new language which has to start from zero in adoption.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#27
post #3

This is good: - Python 2 support officially ends somewhere in 2020 - most popular packages are now compatible with Python 3 - Python 3.7 performs about as well as 2.7 with future release expected to be better Although it still took way too long, if you consider Python 3.0 was released about 10 years ago.

The double standard when it comes to Python is mindblowing. No other language could have gotten away with such ridiculous fragmentation and perf regression for such a long period of time.

I think it's the opposite. When other languages make incompatible changes, they have serious problems (e.g perl6).

Previous versions of python were back-compatible. Java versions stress back-compatibility. I don't know if HN can find any counter-examples, of a language that thrived through an incompatible, code-breaking upgrade.

Python has done everything possible to avoid this fate, by maintaining 2.7. And I'm not even convinced python has gotten away with yet (e.g. kalite, offline khan academy, needs 2.7). RHEL may end up reversing this. Give it another ten years!

Amd the Enterprize is the most back-compatible thing you've ever seen. This change is going to break lots of code, and they will reverse or lose customers.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#28
post #26

They're two different languages. I don't see why python3 "replaces" python2 anymore than say ruby does. IMO they should have separate namespaces and invocation.

They do -- it's trivial to have python2 installed on the same system as python3. The deal with RHEL is that they will no longer include python2 packages at all.

That isn't really to say that somebody else won't make packages.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#29
post #3

This is good: - Python 2 support officially ends somewhere in 2020 - most popular packages are now compatible with Python 3 - Python 3.7 performs about as well as 2.7 with future release expected to be better Although it still took way too long, if you consider Python 3.0 was released about 10 years ago.

Got a source for the performance regressions? Some things are faster in Python 3 than 2

"Most popular" packages, which ones? Most moved a long time ago to Python 3

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#30

If this is an issue for you, I would highly recommend that you have a look at virtual environments via tools like virtualenv and conda. That way you'll be able to run all the versions you like.

I've found that if I set my default Python version to a Python 3 virtual environment, it breaks some system tools on my Fedora system (probably just because my virtual env doesn't have the necessary libraries installed, though I haven't tried to install them to test). Specifically gnome-tweak-tools, but probably others that are built with Python. Sort of a funny quirk.

That's not me saying "don't use virtual environments", just be aware you'll probably need to switch back for some system tools.

Post reply on HN