"Some of you probably know that Python is currently at a bit of a crossroads. Python 2.x was the stable Python version for many years, but recently it was replaced by Python 3.x."
Python 3 has not "replaced" Python 2. The reality is quite a bit more nuanced than this, and it is hardly a bad thing that Django does not support Python 3 right now. To give this section the heading of "The great divide" is just a tiny bit hyperbolic.
From the top of the python.org page dedicated to the subject[1]:
Python 2.x is the status quo, Python 3.x is the shiny new thing
Also from that same page, here are some of the key things in Python 3 that are not in Python 2 yet:
* function annotations
* syntax for keyword-only arguments
* extended tuple unpacking
* non-local variable declarations
There is nothing in this list that a developer must have in order to develop their app, and there are no Python 3 exclusive projects that do not work with Python 2.
The fact that few major Python projects are currently ported to Python 3 is not evidence of some tremendous looming problem in the Python language. It is evidence that Python 3 is only, really, an evolutionary transition from Python 2 and that this transition has a long time horizon.
The move from Python 2 to Python 3 is nothing like the move from Ruby 1.8 to Ruby 1.9. There are no dramatic speed or stability improvements that make Python 3 something that is terrible to miss out on, and there is no rush to get projects ported to Python 3. It will happen when it happens.
Like P3 being the only actively developed branch. The P2 line will only get bug fixes. Anyway, the Django core is looking at the effort for moving to P3 so it will happen. The move was slated to take at least 5 years and we are only at the half-way point.
Python 3 has not "replaced" Python 2. The reality is quite a bit more nuanced than this, and it is hardly a bad thing that Django does not support Python 3 right now. To give this section the heading of "The great divide" is just a tiny bit hyperbolic.
From the top of the python.org page dedicated to the subject[1]:
Python 2.x is the status quo, Python 3.x is the shiny new thing
Also from that same page, here are some of the key things in Python 3 that are not in Python 2 yet:
* function annotations
* syntax for keyword-only arguments
* extended tuple unpacking
* non-local variable declarations
There is nothing in this list that a developer must have in order to develop their app, and there are no Python 3 exclusive projects that do not work with Python 2.
The fact that few major Python projects are currently ported to Python 3 is not evidence of some tremendous looming problem in the Python language. It is evidence that Python 3 is only, really, an evolutionary transition from Python 2 and that this transition has a long time horizon.
The move from Python 2 to Python 3 is nothing like the move from Ruby 1.8 to Ruby 1.9. There are no dramatic speed or stability improvements that make Python 3 something that is terrible to miss out on, and there is no rush to get projects ported to Python 3. It will happen when it happens.
[1] http://wiki.python.org/moin/Python2orPython3