Developers of the Python programming language are working concurrently on two upgrades to the core platform, both to arrive in 2008, representatives of Python said Wednesday.
The first due out, Python 2.6, will serve as a transitional release ahead of Python 3.0, which features basic changes but does have some incompatibilities with the 2.x line, said David Goodger, a director of the Python Software Foundation, which manages IP rights to the language and promotes it. Version 3.0 also is known by the codename Python 3000.
Popular for Web development but not limited to it, the language has benefits like taking care of tasks like memory management and declaration of variables so developers do not have to, Goodger said. "It fits programmers' brains a lot better than other languages," he said.
With version 2.6, users will be able to determine if there are any incompatibilities between Python 3.0 and their programs. A tool will be offered to ease the conversion to the 3.0 platform.
Version 3.0 will feature internationalization via Unicode support and will make such alterations as changing its print statement into a function so that developers can use the word "print" in their programs. Also, it will feature a new I/O library to make for better compatibility across different operating systems
"Over the years since Python was originally released in 1991, it's come to many people's realizations that there are some problems with the original design," Goodger said. "We're taking this opportunity to fix those problems and round off the edges."
A beta release of version 2.6 is due around February with the general release set for March or April. Currently in an alpha stage, Python 3.0 goes to beta during the timeframe of the PyCon conference for Python developers in March with the final release set for next August.
"Some minor changes might have to be made to 2.x code to make it compatible with the tool that converts it to version 3, so this tool we're providing will allow people to upgrade their code base without a lot of manual work," Goodger said.
Those in charge of the base Python platform also may continue developing the 2.x line of the language, but these would not include some of the optimizations featured in Python 3.0, said Goodger.
Goodger noted that while the core distribution of Python is maintained by the foundation, there are multiple versions of Python with organizations able to take it and add their own third-party packages. IronPython serves as an implementation of the Python language for Microsoft's .Net language, for example. Jython is a version for Java.
PyCon is to be held in Chicago March 14-16 in 2008; Guido van Rossum, lead developer of Python, will present on Python 3.0 at the event. Goodger is the chair of the conference.
Van Rossum cited the intent of Python 3000 in his blog in June.
"The idea was that Python 3000 would be the first Python release to give up backwards compatibility in favor of making it the best language going forward," he said.