Hacker News new | ask | show | jobs
by BeetleB 3347 days ago
The standard answer to any question like this is:

"Why should I switch to 3.x?" You haven't provided a reason to switch.

I don't know if it was your intent, but your question assumes that Python 3.x is the "default", and that there is some sort of obligation to use it instead of 2.x. That's a premise that a lot of people do not share.

As an example, they may not view 3.x as an "upgrade", but as a different language. So you might as well ask anyone doing work in one language "What reason is there for you to still use language X? Why not use language Y?"

As long as some team is willing to support Python 2.7 (and possibly backport non-breaking features), 2.7 will live on, and there is no reason it should go away. The only strong reason for many to switch to 3.x is "I have a library I need to use that is supported only in 3.x". Or "I need to hire developers, and I can't find people who know 2.x, but I can find those who know 3.x"

Languages are tools. As long as the tool is more than adequate for the task, the burden is on others to justify a change in tool.

1 comments

The Python project itself is dropping support for Python 2 by 2020. Lots of major libraries have pledged to stop supporting Python 2 by 2020 or even before.

Writing new code in Python 2 is completely nuts and just makes everyone's life harder (including your own).

>Writing new code in Python 2 is completely nuts and just makes everyone's life harder (including your own).

And when it makes someone's life harder, they will change. If it's too late for them and affects them, they will have themselves to blame.

This, really, is the only reason for people to change to Python3. Yet people keep evangelizing all its great features, etc as if the existence of a much better language suddenly obligates everyone to switch to it.

It's fine to point out potential repercussions of not switching now. But moralizing it is counterproductive.