Live data from Hacker News

Extend Python 2.7 life till 2020

hg.python.org

241–250 of 286 posts

Re: Extend Python 2.7 life till 2020

#243

I understand that changing to Python 3 can be expensive but really all that any company or person is doing is prolonging the inevitable. If they have a good product/app/etc. that will last it will have to change to Python 3 and sometime in the future, right? Why keep waiting? Why support something that is considered by it's makers to be inferior? I really would like answers to these questions, if someone is willing.

Some people don't see it as inevitable. They never want to change their code again, and they won't. But they don't want their code to be dead or unused. So what is most convenient for these people is for Python to stop changing.

Re: Extend Python 2.7 life till 2020

#244
post #102

Speaking as a Python outsider, this looks pathological. If backwards compatibility is such a big hindrance in switching from 2 to 3, why not ship a v2 legacy fallback interpreter along with the new stuff? If you wanted to make it fancy, you could even make a 3-to-2 bridge that allows people to run v2 code from v3. Am I missing something here?

The biggest issue people have with python3 is unicode support. Unlike python2 python3 puts a clear distinction between characters and bytes. It also is quite strict about it.

The problem with 2.x scripts is that they mix characters with bytes quite often. This is not something that you can easily fix by a program, because from this perspective 2.x programs are broken and need to be fixed.

What you are suggesting is already available, python 2.x and 3.x can be installed and work side by side without any issues. There's even 3-to-2 conversion tool (converting backward is much easier than the other way since python3 is more strict).

The problem really comes down to distribution maintainers, for example we are talking about Guido extending support from 2015 to 2020 for Python 2.7. So before this announcement, Python 2.7 would no longer be supported in 2015, yet we have geniuses at RedHat still shipping it with Python2.6.

And no, there is no incompatibilities between 2.6 -> 2.7 as there's from 2.x to 3.x

Re: Extend Python 2.7 life till 2020

#245

This is really disappointing to see - I fear that it will slow adoption of Python 3 even further, when it was just reaching a tipping point[0]. When I first learned Python, I learned Python 3 first because it was newer, and I figured everyone would be using it soon enough. Little did I know that Python 2 would continue to be supported for over ten years after that! Some people make a big deal about figuring out "whic…

I chose to learn Ruby in part because of the confusing Python 2/3 issue. I recognize that this is a largely stupid reason to choose a language, but when lots of people suggest that either language is great to pick-up, well, it was another easy reason to lean Ruby over Python.

Not stupid at all. The same concerns and some bad experiences with 2/3 conflicts and deployment issues drove me to Go after investing quite a bit of time with Python, and I've not regretted it yet.

I'm not sure if it was something I did but I also occasionally found that when pip'ing Python 3 libraries with a lot of dependencies, occasionally some of them would actually be Python 2 libraries and things would break.

Re: Extend Python 2.7 life till 2020

#246
post #115
post #102

Speaking as a Python outsider, this looks pathological. If backwards compatibility is such a big hindrance in switching from 2 to 3, why not ship a v2 legacy fallback interpreter along with the new stuff? If you wanted to make it fancy, you could even make a 3-to-2 bridge that allows people to run v2 code from v3. Am I missing something here?

Hm that does sound clever. A preparser to determine what language version then invoke that interpreter. And if the 3 is so good people would switch over to usong its features only very soon. Maybe py3 just doesnt have good enough features compared to 2 for people to make the switch and shouldnr have existed in the first place? But gradually introducing changes. Now python is for all intents two languages instead of o…

There's an easy way to do this already:

#! /usr/bin/env python2

vs

#! /usr/bin/env python3

Python allows you easily to run different versions side by side. There's really no good excuses.

Red Hat is major reason why the migration is so tough. They still ship with Python 2.6.

Re: Extend Python 2.7 life till 2020

#247
Good news. They have another 5-6 years to recognize their mistake and cut Python 3 loose from Python, like Perl did with Perl 6. It's interesting how the same underlying mistake manifests itself in different cultures: Perl 6 was "we'll break all your code, but give you gonzo new features that we hope are useful." Python 3 was "we'll break all your code, but soothe some pedants and browbeat you into accepting the result."

Re: Extend Python 2.7 life till 2020

#249
post #34

Earlier quoted context omitted.

On the other hand, if you are comfortable with Python 2, it will do the job, and you know it will be supported for a foreseeable future, why bother learning Python 3? I assume there is a good answer for switching to Python 3, but I honestly don't know (haven't bothered to do any research though). Harshly put: I care about getting my python script working as soon as possible and for a foreseeable future - I couldn't c…

" why bother learning Python 3?" Unicode And of course, you'll move from a platform that's shutting down to one that's evolving Really, it's worth it.

Python 3 really is a superior language. It took all of the good parts from 2, and left the cruft behind. The downside is that there were so many good parts of 2, and so little cruft, that 3 isn't all that much different. However, it's different enough to break things.

Re: Extend Python 2.7 life till 2020

#250
post #150

This is really disappointing to see - I fear that it will slow adoption of Python 3 even further, when it was just reaching a tipping point[0]. When I first learned Python, I learned Python 3 first because it was newer, and I figured everyone would be using it soon enough. Little did I know that Python 2 would continue to be supported for over ten years after that! Some people make a big deal about figuring out "whic…

I think it's a strong signal to industrial users that Python is a stable and mature language whose core developers care about practical usage. Pushing Python 3 for ideological reasons ("it's the right thing to do") would alienate a lot of users who have real work to do and cannot invest weeks to upgrade to a version that does not provide them any benefits.

If the Python core developers care so much about practical usage they should never have released python3 with features that break backwards compatibility.

Your argument is right, but they should have thought about that before fracturing the python community.

Post reply on HN