Python Sheds 2.x Skin
The much-anticipated next incarnation of the popular Python programming language — voted favorite scripting language in the 2008 Linux Journal Readers' Choice Awards — slithered onto the scene on Wednesday with the release of Python 3.0. Known popularly as Python 3000 or Py3k, Python 3.0 bears the distinction of being the first release in the language's history to deliberately break compatibility with previous versions.
The Python 3.0 change everyone is talking about is without a doubt the break with backwards-compatibility. Engineered from the beginning to break with the past, Py3k modifies and/or eliminates aspects of the language which developers felt were unnecessarily complex, outdated, or in need of reorganization. Among the backwards-incompatible changes included in 3.0 are prominent reorganizations to the standard library, changing to != as the notation for "not equal," establishing Unicode as default for the language, and replacing the print statement with a print() function. A more in-depth look at the changes, additions, and deletions is available from the Python 3.0 documentation site.
With the new release being described as "the release where we break all your code," Anthony Baxter, Python Release Manager, emphasized that the move would not come overnight, and that the 2.x series would continue to be maintained "as long as there is interest and need." Python originator and Benevolent Dictator For Life Guido van Rossum, as well as Baxter, stressed that the change, while requiring some extra work, is in the best interests of both the language and its users, and pointed out that it is still the same language. "After digesting the changes, you'll find that Python really hasn't changed all that much."
The release notes, change log, and documentation, along with downloadable packages, are available from the Python 2.0 Release site.