3 ms·
I fully agree with this sentiment. If you read the discussions, it sounds like Python 3 is an entirely different language which is definitely not the case. Port
by lima 10y ago
I fully agree with this sentiment. If you read the discussions, it sounds like Python 3 is an entirely different language which is definitely not the case. Porting code to Python 3 is really easy and involves no changes to the program flow or the APIs you use. Hardest to port is usually the Bytes/Unicode transition. In my projects, it fixed a few nasty Unicode bugs which was a nice bonus.
> Python 3 came out 2008, at the moment of writing this, it’s almost a decade and if your third party package has not been updated, then it’s really messed up.
Exactly. A library which has no Python 3 port in 2016 is going to be an maintenance burden either way, since it's not going to get support or security updates either. Many of those abandoned projects have been forked for Python 3 support, and active development continues there.
A number of new projects are Python 3-only.
Two years ago, I recommended new developers to stick with Python 2 for anything except toy projects (and use __future__ imports to make it easier to port later) because library support just wasn't there. Now it is, so it's an easy decision.
Porting to Python 3 means future-proofing the project - not only Python 2 will be EOL, but many libraries will drop Python 2 support.
http://www.python3statement.org/ http://www.python3statement.org/
- daveguy 10y ago1) most porting requires little to no change in logic flow regardless of the languages as long as they are the same paradigm (functional, oo, declarative, imperative, etc). 2) That's just not true. Python 2 is and will be better supported in general than Python 3. Does aws lambda or google even support Python 3 yet? If anything it's Python 2.
- Demiurge 10y agoAny time you alter code you must spend time to understand what you're doing. There are all sorts of overheads associated with simply touching a code file.
- squeaky-clean 10y ago> A library which has no Python 3 port in 2016 is going to be an maintenance burden either way, since it's not going to get support or security updates either. If you mean Python 2, it will still be supported until 2020 (and that's assuming they don't push back EOL again, which I hope they don't). If you mean the libraries won't be supported, that's just not true. Most of the google api client libraries are Py2 only, for example, and are regularly updated. I recommend Python 3 to everyone, and it's my first choice over Py2 for both personal and commercial stuff. Most of the time everything will work A-OK, or better. But sometimes you still have to use Python 2.