I am in the process of learning Python and had a question about the future. I know it’s not the most pressing thing to think about currently, but I’m curious.
Currently, Django only supports up to Python 2.7. However, in the near future, it will be supporting Python 3. In terms of writing code in Python 2.7 and using the related Django framework, what happens when the transition to Python 3 actually comes along.
Presumably, I’d learn and code in the newer version. However, what about maintaining the old code? Does it stay as is? Does it need to be rewritten?
I’m just curious as to how these transition work. Also, does it make a difference that Python 3 isn’t backwards-compatible? What is the consequence of that? For instance, I read that Ruby versions 1.8 to 1.9 (and even the future 2.x) were backwards-compatible and less of a leap (than Python 2.x to 3.x). I wonder if that split between Python versions creates any fragmentation problems or code maintenance problems?
So, if someone could try explaining to me what goes on with these updates and the issues at hand when dealing with them, I’d really appreciate it. Thanks!
Nothing. That’s why you’re using a framework in the first place. All you need to be responsible for is the small amount of your code that will need to be ported.