Live data from Hacker News

Extend Python 2.7 life till 2020

hg.python.org

81–90 of 286 posts

Re: Extend Python 2.7 life till 2020

#81

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…

Well honestly, python 2* is a lot more convenient to write in a lot of ways, and the benefits of 3 aren't big enough to make up for it for a lot of people/use cases.

Re: Extend Python 2.7 life till 2020

#83
post #50
post #42

Earlier quoted context omitted.

That's not a valid reason to avoid making the switch. A big backlog of code that you can't afford to port is valid; it's a business issue. But you? This is a tool of your trade, just do the research.

"Tool of your trade": I have no use of python 3, nor do I have any use for Scala, Perl, or whatever. These could all be considered "tools of my trade". I rarely write anything high language besides small scripts. Python 2 does the job. If I ever were to need functionality of another language, great, it's fun to learn something new. Our time is limited and we must prioritize. Sadly we cannot invest time to learn every…

> I have no use of python 3

You admit you haven't done any research, so you clearly don't have any basis for making that statement.

Re: Extend Python 2.7 life till 2020

#84
post #74

How I'm not surprised. Python 3 didn't offer anything that would have been so useful and desirable that people would've jumped on it the moment it was released. In fact, it was actually a bit worse than Python 2 when it was out and those Python 2 users could continue enjoying loads of libraries to go with, and of course they knew how to navigate around Python 2's quirks so why bother. Sadly, this is still what I thin…

print as a function made it into Python 2.6 (using future imports). It's probably one of the more purely stylistic choices in 3.X. The function style is probably better for pretty much all shipping code (as opposed to someone typing at an interpreter). The Unicode switchover is where all the pain is, and it isn't particularly clear that there is a good way to do such a thing.

I for one like the 2.x style print function. I see why it would be a bad idea to have a separate syntax for print from a purist point of view.

But least for smallish scripts which print a lot it give you a better overview because the print line look different than other lines. Sometimes prints can almost be like comments.

Re: Extend Python 2.7 life till 2020

#85

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…

Well honestly, python 2* is a lot more convenient to write in a lot of ways, and the benefits of 3 aren't big enough to make up for it for a lot of people/use cases.

> Well honestly, python 2* is a lot more convenient to write in a lot of ways

In what way is python 2 more convenient to write? Outside of the rapidly shrinking set of cases where the best approach to a key problem is addressed by a Py 2 only library -- or the case of "I want to deploy on Google App Engine" -- I don't really see how Py 2 is "more convenient".

Re: Extend Python 2.7 life till 2020

#86
This is the path that all dynamically typed scripting languages must follow. Over time, change becomes impossible because the lack of typechecking or static analysis tools means that any change might break something in a subtle and hard-to-diagnose way. And so the language grows by accretion. You end up with something like bash or perl, where there are a million ways to do any one thing. Each way was added at a particular phase of the language's life, and it could never be removed after that. And so the language becomes difficult to learn and unattractive to newcomers, so another scripting langauge pops up, and the cycle of life begins again.

Compare this to a language like golang, where you can just run "go fix" on your code to update it to the latest version. And you don't have compatibility hell, because when you distribute your application, it's a standalone binary. Stuff like go is the future. Get off the dynamic language hamster wheel.

Re: Extend Python 2.7 life till 2020

#87

Oh for god's sake. Kill the damn thing already. PHP 4 to 5 was a massive leap compared to Python 2 to 3, but they actually made that leap!

Yes but PHP5 had compelling reasons for upgrading. py3 has a few tweaks and some annoying syntax changes to make things more "pure"

> py3 has a few tweaks and some annoying syntax changes to make things more "pure"

That may have been true of Python 3.0 vs. 2.x, but Python 3 has moved forward quite a bit since 3.0.

Re: Extend Python 2.7 life till 2020

#89
post #84

Earlier quoted context omitted.

print as a function made it into Python 2.6 (using future imports). It's probably one of the more purely stylistic choices in 3.X. The function style is probably better for pretty much all shipping code (as opposed to someone typing at an interpreter). The Unicode switchover is where all the pain is, and it isn't particularly clear that there is a good way to do such a thing.

I for one like the 2.x style print function. I see why it would be a bad idea to have a separate syntax for print from a purist point of view. But least for smallish scripts which print a lot it give you a better overview because the print line look different than other lines. Sometimes prints can almost be like comments.

> I for one like the 2.x style print function.

2.x didn't have a print function, unless you mean the one from 3 available with a from __future__ import.

Re: Extend Python 2.7 life till 2020

#90
post #4

Earlier quoted context omitted.

Guido's or yours opinions are irrelevant. If people have a lot of code for Python 2.7 and have little incentive to migrate to Python 3, then they'll stick with Python 2.7.

I've used 2.* for about 10 years, quite happily. If I switch to anything, I'll probably switch to Go. (I originally typed 2.7, which is nonsense.)

> If I switch to anything, I'll probably switch to Go.

I think this is what is often happening, given that Go is attracting more Perl/Python/Ruby types than its original target audience of C/C++ developers.

Post reply on HN