Live data from Hacker News

Extend Python 2.7 life till 2020

hg.python.org

251–260 of 286 posts

Re: Extend Python 2.7 life till 2020

#251
post #103

I think many folks are reading too much into this. "Extended lifetime" is bug-fixes. The final planned release is 2.7.9 in 2015 - beyond that there will be source-only releases for major security problems. No new features, no non-critical bug fixes. So this isn't really making Python 3 any less appealing. But the Python core developers cannot with a calm heart abandon all the users of 2.x, given the state of adoption…

But if they still get bugfixes there will be even less incentive to switch for them.

And if I look at the whole thing now, "no new features" is not certain. If people are still unwilling to switch he may consider backpedaling and backport some other features to 2.X.

Re: Extend Python 2.7 life till 2020

#252
post #197

The lesson here is that it's important to "sell" new versions of anything. You can't just expect people are going to upgrade because it's the new hotness. Older versions of your own software are often your biggest competitor. (See also: Microsoft and Windows 8).

I didn't find it simple to google for what the differences are between 2 and 3. As an outsider to the Python community, that would be very important information to me if I wanted to learn the language. The most immediate answers I got was "use 3 because it's the future".

https://wiki.python.org/moin/Python2orPython3

I don't know what you mean by "I didn't find it simple ....". I googled "python 2 und 3 differences", and that was the first result.

Re: Extend Python 2.7 life till 2020

#253
post #150

Earlier quoted context omitted.

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.

Yes; I suppose they will be more careful in the future.

The Java model of using separate lifecycles for the runtime/JVM and the language itself is probably a good role model for the future; it allows introducing new language features without any danger of creating library inconsistencies and allows specifying source and VM versions individually.

Re: Extend Python 2.7 life till 2020

#254

Earlier quoted context omitted.

It's hardly shutting down if the support will last another 6 years ...

If you prefer to work with a platform that will get only bugfixes/security updates go ahead Potentially no new libraries (for new things and/or API connections) Not sure how long new versions of existing libraries will keep 2.7 support.

No new libraries? I wonder if 2014's new Python implementation from Guido's employer Dropbox- Pyston, count as significant in your mind?

If you prefer to have no Google App Engine, Azure, Amazon or distro support other than Arch, then have at it. I'll keep that and PyPy, Pyston, Jython, IronPython, PyInstaller, not to mention all programs where Python is integrated like GIMP, all of this is Python2 only.

Enjoy your Python3. I'll stick with Python.

Re: Extend Python 2.7 life till 2020

#255
post #204

Earlier quoted context omitted.

It's not possible to determine the language. The extensions are the same and much of the syntax hasn't changed, and many of the backwards-incompatible differences are subtle. Python2: print(1/2 * 1000) # 0 print({b'a': 'bytes', u'a': 'text'}[b'a']) # text print(b'A'[0]) # A Python3: print(1/2 * 1000) # 500 print({b'a': 'bytes', u'a': 'text'}[b'a']) # bytes print(b'A'[0]) # 65 And the merits of doing a backwards-incom…

What about import2.7 modulefoo

Unfortunately there's no way in knowing whether a Python 2 string (str, not unicode) originating from the module should be interpreted as a bytes string or text string. Python 2 doesn't have the clean separation between bytes and strings.

Solutions might include adding some sort of hinting to specify the conversion, or add a Python2-like string class to Python 3, which would pollute its purity.

Re: Extend Python 2.7 life till 2020

#256
post #51

This seems weird to me. Won't this cause a fork in Python at some point, where the 2.7 developers continue on 2.8 or rename it entirely, and another fork continues on what is now Python 3?

That depends on how the BDFL of the community dictates. Generally, all the people who matter follow their BDFL religiously.

Re: Extend Python 2.7 life till 2020

#257
post #56

Earlier quoted context omitted.

Well, the one big reason was that you were going to lose support for Python 2. Guido just took that reason away and now tens of thousands of new Python apps are going to be written in Python 2 because they've got another 6 years to worry about it. Guido just created a bigger problem. No good deed goes unpunished.

> Well, the one big reason was that you were going to lose support for Python 2. Guido just took that reason away and now tens of thousands of new Python apps are going to be written in Python 2 because they've got another 6 years to worry about it. This shows a serious disconnect from reality. Discontinued support for Python 2 was never a major reason to move to python 3 for apps. Library support is WAY more importa…

Yeah but I understand GP's sentiment. As someone who writes python for my living currently, I'm a little disappointed at this because it's hard to imagine that it doesn't move further into the future the day on which we will switch our code base. I don't need to be a 3-second attention span novelty junkie to just get some pleasure out of using the latest version of the language at my workplace.

Re: Extend Python 2.7 life till 2020

#258
post #158

There are a lot of comments here from people who aren't on the python-dev list and don't really understand what this diff actually means. The core developers are not required to maintain 2.7 post-2015, and most of them won't be involved in it. That part hasn't changed. What is happening is that Red Hat is preparing to cut a RHEL 7 release, which AFAIK depending on how much you pay them they support for 13 years. So t…

It would be a massive strategic mistake to reject 2.x maintenance releases, or any kind of releases, on python.org as soon as 2015.

[deleted]

Re: Extend Python 2.7 life till 2020

#259

I just thought I'd like to know what Hacker News thinks. Will Python 2.x ever die? I'm still writing lots of code with it and even quite a lot of new code. It's been around for ages and it feels like almost no libraries have been ported to 2.x yet. On a couple of occasions I've started a project with Python 3.x just to drop it or move to Python 2.x as a library I need doesn't seem to exist for Python 3.x and I don't…

> Will Python 2.x ever die?

My guess would be that Python 2.x will die at the same time that Python dies, i.e. the "transition" to Python 3 will never really happen, and part of the reason that Python will die is the split between 2 and 3.

I don't think it was obvious that Python 3 would "fail" in this sense, but it seems pretty likely now. Sympathy with Guido; this is essentially a cultural problem rather than a technical one, but as a rule backwards-compatibility tends to be a key component of success as a programming language (or library, or even O/S) evolves.

It's not too late -- a compromise could be found, but it would essentially involve abandoning 3 to a large extent. Not very palatable.

I'm sure Python has many years to go though, so I wouldn't worry about writing new code for the moment. Keep an eye on how things develop and think about jumping to another language if no-one sorts out this mess.

Re: Extend Python 2.7 life till 2020

#260

Earlier quoted context omitted.

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.

I don't agree at all that it's stupid (and I'm someone who'd generally pick Python over Ruby). Fragmentation sucks. Really bad fragmentation sucks more. Python's fragmentation is pretty bad.

It's funny reading this from the Zen of Python "There should be one-- and preferably only one --obvious way to do it." [1] while seeing that there are nearly two independent language/ecosystems with the name Python (namely version 2/3).

[1] http://legacy.python.org/dev/peps/pep-0020/

Post reply on HN