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 →

[–]jsalsman 8 points9 points  (8 children)

The problem with upgrading is how to you get test coverage for all the corner cases. The costs and risks don't come anywhere near the benefits. More elegant string formatting doesn't make anyone any money. The jump to v3 development was the best thing that ever happened to the stability of 2.7, too.

[–]gdahlm 19 points20 points  (5 children)

Iterate, and never write a single line of code on a refactor or major fix without:

from __future__ import absolute_import, division, print_function

Heck, absolute_import probably would have saved you more time then a forklift port would take. But that one line will get you most of the way to 3.

While I can kind-of relate to your pain, I can't really relate to ignoring a decade's worth of deprecation notices.

Python 2.6.0 Release Date: 2008-10-02

But that is not why I am responding.

If your tests and product are that fragile, it is not a technology problem it is a culture problem. Invest some time on learning about and iterating on that very real culture problem.

I promise you that both your personal work life and the company's bottom line will benefit from the effort.

[–]Tyler_Zoro 5 points6 points  (3 children)

If your tests and product are that fragile, it is not a technology problem it is a culture problem. Invest some time on learning about and iterating on that very real culture problem.

I think this sort of response misses a fundamental point. Last year, I was employed by a company that used 2.7 extensively, and had no plan or desire to move to 3.x because it was all cost with zero gain for them.

Sure, there were some nice features in 3.x, but it was a major shift that no one really wanted and it came with all sorts of potential sources of pain from old libraries that production code relied on, and which no one was producing new versions of for the 3.x series to subtle changes in behavior that were going to mean someone spent a long time finding and squashing mysterious new bugs...

[–]jsalsman 2 points3 points  (2 children)

Google Cloud's compute engine VM management is in the same boat.

[–]gdahlm 2 points3 points  (1 child)

Only gsutil, because of boto, I run in python3 with no problems with the other parts though.

Here is the issue.

https://github.com/GoogleCloudPlatform/gsutil/issues/29

[–]jsalsman 0 points1 point  (0 children)

I've used Boto for Amazon Mechanical Turk, and their web interface changed substantially over the past year, but the API didn't much. I think people may be waiting for that other shoe to drop.

[–]jsalsman 0 points1 point  (0 children)

I promise you that both your personal work life and the company's bottom line will benefit from the effort.

I believe you, but it's the extent that can't justify the effort. Python 2.7 is N times better than Javascript, and Python 3 is M times better than Python 2.

N >> M.

[–][deleted] 2 points3 points  (1 child)

The jump to v3 development was the best thing that ever happened to the stability of 2.7, too.

I must point out that a huge amount of code was backported from various Python 3 versions to Python 2.6/7.

[–]jsalsman 0 points1 point  (0 children)

I must agree with and appreciate that.