Python 3.0 will be backward incompatible

John Gilmore gnu at toad.com
Sun Feb 3 22:51:19 EST 2008


For planning purposes, since OLPC uses so much Python:

Python 3.0 changes a bunch of things.  E.g. ordinary strings will be
Unicode, not ASCII.  Metaclasses are used with a different syntax.
Raising and catching exceptions uses different syntax.  There are lots
of other little improvements.  They figured Python 3.0 was the time to
do all the incompatible stuff.

http://www.itnews.com.au/News/69326,python-30-to-be-backwards-incompatible.aspx
http://www.python.org/dev/peps/pep-3000/
http://www.python.org/dev/peps/pep-3099/

Any "PEP" (Python Enhancement Proposal) with number >3000 is a Python 3.0
feature discussion.  Some are already done, some are accepted but not
yet done, some are under consideration:

  http://www.python.org/dev/peps/

	John

PS: Personally I see this as a good thing on several levels.  Python
programmers are notorious for writing programs that *only* work on one
particular version of Python, even without major language changes.
This will force many of them to learn the joys of writing portable
code.  And perhaps Python facilities for specifying what version of
the interpreter your code expects (and getting such an interpreter to
execute it, regardless of which interpreter version is the default
called "python") will come into being.  After major Python programs
use those facilities, it'll be safe to upgrade the version of Python
in your system, without breaking every existing installed Python
program.



More information about the Devel mailing list