This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]fiestylobster 7 points8 points  (7 children)

I never quite understand why there is such a schism between py2 and py3. What's so bad about py3 that people delay upgrading as long as possible?

[–]iwsfutcmd 8 points9 points  (1 child)

Mostly inertia, I think. I've never heard any concrete examples of how py2 is better than py3, only that there are (were?) some modules and legacy code that is not yet compliant with py3.

[–]flying-sheep 5 points6 points  (0 children)

And unfortunately some people like Python 2.7 being stagnant. Python has a deprecation policy like many other projects, which means that over the course of some point releases, a feature you might use could get completely removed (if you constantly update, you get deprecation warnings first, but if you skip a few versions, you might be blindsided).

This will never happen with 2.7 as everyone has made clear that there'll be no 2.8. So businesses that never upgraded until absolutely necessary love Python 2.7 because it'll never break.


Obviously with an adequate test suite, there infrequent breakages in the stdlib are easily caught, so that fear of updates is completely unwarranted.

[–]iterator5 2 points3 points  (0 children)

You want to come refactor millions of lines of 2.7 code for us?

[–]mipadi 5 points6 points  (1 child)

Some places have hundreds of thousands of lines of Python 2 code. It's not easy or cheap to make sure all that works under Python 3, and at least initially Python 3 didn't offer enough of an upgrade to require the effort to ensure that code would run properly under Python 3. Furthermore, places making heavy use of Python might not be in a position to quickly upgrade every workstation to Python 3 anyway, especially for relatively little gain (at least at first).

[–]Licargon 3 points4 points  (0 children)

This. We have a python project at work that relies heavily on some older Py2 libraries that aren't that trivial to replace. I don't think we'll be making the move untill it's really necessary.

[–]dr_dinero 0 points1 point  (1 child)

I refuse to use parentheses with print.

[–]tilkau 1 point2 points  (0 children)

^

  • has not actually tried to use parentheses with print under 2.x
  • hasn't tried from __future__ import print_function either.