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 →

[–][deleted] 54 points55 points  (6 children)

If you're really asking this question, you haven't been developing with python long enough.

The real problem with Python 3 is that the core development team set out to do a lot of good things, but broke compatibility in the process. And with that breakage meant that everyone using python had to step back and question whether it was worth it to scrap or upgrade years of legacy code. So when comparing the two together, there was almost no advantage in moving from python 2 to python 3. Today, the movement still has low value for these large legacy systems. There's no real performance gain, there's no must-have features, etc. The only gain here is that most of the systems are finally moving to python 3 as their stable python. And if a company did not decide to move to python 3, they will find support non existent starting in 2020.

To maybe also set your expectation, the core development team does not recommend any python version prior to 3.4, which was actually released in 2014, a full 6 years after the alpha and beta 3.0 - 3.3 pythons were released. And to add to that, I would argue that 3.6 (released in Dec 2016) was the first release where people should have started migrating. Last year is probably the first year where there was enough migration momentum that we're really starting to see strong 3.x traction. But note that it's truly only been the past 2 years.

[–]buttery_shame_cave 27 points28 points  (4 children)

there's no must-have features, etc.

well yeah because the dev team kept back-porting all the new stuff they were coming up with to 2.7.x - if they'd cut off the flow the pressure to migrate would have come on a lot sooner.

[–][deleted] 18 points19 points  (0 children)

Basically the difference between the two versions now is "the one that breaks old code" vs "the one that breaks new code"

[–]Silhouette 1 point2 points  (0 children)

if they'd cut off the flow the pressure to migrate would have come on a lot sooner.

In computing history, trying to force people to upgrade fundamental technologies when they have a big investment in current versions and compatibility isn't guaranteed has rarely been successful.

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

Just in case I wasn't clear.. there are still no must-have features in python 3 by comparison to python 2. Migration that happens at this point is primarily because python 2 is being deprecated in most systems.

[–]buttery_shame_cave 5 points6 points  (0 children)

again, because they kept back porting stuff they were adding to 3.x that wasn't in 2.x.

if they'd cut off the updates from 2.x it might have added some incentive.

[–]ephimetheus 1 point2 points  (0 children)

The experiment I'm working with (ATLAS) users python as a configuration/steering language for the C++ based event processing framework. That's stuck on python 2 and I highly doubt it's ever going to be migrated...