Well our old friend Python have a good news to share. Python Enhancement Proposal 3000 (pep 3ooo) states that py3k project will lead to a new version of python which will be no longer compatible to 2.x.
The original pep 3ooo was written in Apr 2006, and since then developers are constantly improving the language.
The pep 3ooo states Python 3.0 will break backwards compatibility with Python 2.x.
There is no requirement that Python 2.6 code will run unmodified on Python 3.0. Not even a subset. (Of course there will be a tiny subset, but it will be missing major functionality.)
Python 2.6 will support forward compatibility in the following two ways:
- It will support a “Py3k warnings mode” which will warn dynamically (i.e. at runtime) about features that will stop working in Python 3.0, e.g. assuming that range() returns a list.
- It will contain back ported versions of many Py3k features, either enabled through __future__ statements or simply by allowing old and new syntax to be used side-by-side (if the new syntax would be a syntax error in 2.x).