Hacker News new | ask | show | jobs
by oleganza 4445 days ago
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.
3 comments

It's just prolonging the inevitable. Discontinuing support for python 2.7 may give people the spark they need to finally suck it up and migrate their code. But hey, if it's supported another 5 years, why bother.
If people have real compatibility problem to migrate to Python 3, harsh policies will do nothing about that. If I'm forced to rewrite my app I may as well rewrite it in Ruby, Go, Java, or whatever. Especially, if Python developers will prove to be aggressive about compatibility. Why would I migrate to Python 3, just to be forced to rewrite everything in Python 4 next time?
Well, you can sort of assume that they learned their lesson.

There also isn't really anything as drastic as the bytes/strings/Unicodes left to change.

(But these are better answers to worries about Python3 than they are answers to porting 2.x code bases)

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.)

that's quite an achievement, considering it was only released 4 years ago!
Well, the 2.x branch has been rather gracefully backwards compatible for many years. Even the jump from 1.x to 2.x was largely "assisted".

Personally, for me switching to 3 is a massive hindrance and probably I'll never do it. For the kind of things I use Python, the changes are extremely significant and it actually seems to me like a step backwards. It may be an improvement in other respects, though. I don't know.

> 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.

Rewriting your code base is easier then fixing it for 3? That really just sounds like you are being overly dramatic, or looking for an excuse to try something new.
This is the same logic that got us stuck with IE6 and Windows XP for over 13 years (and we'll probably be stuck with it for a few more, altough IE6 has been dying now for a little while and Windows XP is being migrated off from)
See, when they invented new web browsers, the old websites still worked on them!

...and therein lies the difference.

> See, when they invented new web browsers, the old websites still worked on them!

Yeah. But only because they rendered the old websites in various quirks modes[1] that emulated the rendering engines of the old web browsers.

Thankfully, web browser developers did not share the analagous mindset to the people saying 'lets stick with python2-compatible semantics forever', or we'd still be writing sites that had to be backwards-compatible with IE6, instead of having the option to specify a modern doctype and use IE6-incompatible markup (the analogy to using a python3 shebang line and writing python2-incompatible code).

[1] https://en.wikipedia.org/wiki/Quirks_mode

Whatever. You're splitting hairs.

The sites worked. Quirks mode is now being phased out, but it served its purpose. The analogy Im making is obvious:

Python 3 should have run python 2 code and slowly rolled old semantics into depreciation; this whole mess could never have existed.

Its not as simple as 'just port your code and run python3'

Er, not all of them, that's why the old browsers were still used.
Don't understand; Python 2.x support is already there, how much work is it to NOT delete it? Its a whole different issue - IE6 was a burden on servers with progressive web design. This Python situation is the reverse (obverse? inverse?)