Python3 core has a better design: strict separation between bytes and characters, no more short integer type, no more
old style class, etc. The stdlib is there. The rocky bits are being fixed all the time. The other important modules all have strong development communities.
Upstream numpy works with Python 3 already. PyGObject is also working on Py3 support.
The point is python2.7 is the last 2.x version. It will be supported, bugs will be fixed but no new feature will be added. Core devs will concentrate on python 3.x. You can still use 2.x, no one is stopping you. But assume that it is stagnant now. After some time only security related bugs will be fixed. Sooner or later you will have to switch.
What you will miss is 3rd party libraries. Some like numpy are ported, but many like mechanize needs to be ported. Google App Engine doesn't yet work on Python3. Not many hosting providers have Python3 as option.
However, i must agree that many of the points people bring up for not switching to Python3 are real. People ARE stuck in limbo right now and there is no good direction to go... Stick with 2.x and have all the 3rd party support but soon enough you will need to do a major bug fixing, or move to 3.x -- oh wait i can't move to 3.x because module xxyy is not 3.x compatible!
Is there really a limbo though or is that just a perception? I am starting to learn Python. I am learning Python 3. I believe that close to 95% (or maybe more) of the skills I am learning still apply to Python 2. The move to Python 3 will come. It was a 5 year plan of which we are half way there. Chillax. Really.
Comments
Python3 core has a better design: strict separation between bytes and characters, no more short integer type, no more old style class, etc. The stdlib is there. The rocky bits are being fixed all the time. The other important modules all have strong development communities. Upstream numpy works with Python 3 already. PyGObject is also working on Py3 support.
The point is python2.7 is the last 2.x version. It will be supported, bugs will be fixed but no new feature will be added. Core devs will concentrate on python 3.x. You can still use 2.x, no one is stopping you. But assume that it is stagnant now. After some time only security related bugs will be fixed. Sooner or later you will have to switch.
What you will miss is 3rd party libraries. Some like numpy are ported, but many like mechanize needs to be ported. Google App Engine doesn't yet work on Python3. Not many hosting providers have Python3 as option.
However, i must agree that many of the points people bring up for not switching to Python3 are real. People ARE stuck in limbo right now and there is no good direction to go... Stick with 2.x and have all the 3rd party support but soon enough you will need to do a major bug fixing, or move to 3.x -- oh wait i can't move to 3.x because module xxyy is not 3.x compatible!
Is there really a limbo though or is that just a perception? I am starting to learn Python. I am learning Python 3. I believe that close to 95% (or maybe more) of the skills I am learning still apply to Python 2. The move to Python 3 will come. It was a 5 year plan of which we are half way there. Chillax. Really.
Great that you are learning Python 3. :)
The issue is if you need to write something you may need 3rd party library and few great ones are not available for Python3. It kind of cripples you.