Python 3.2 Improves Multithreading, Awaits 2.x Adopters

Transitioning from one major version of a language to another is never an easy task for developers. One such version transition has been ongoing with the open source Python language from Python 2.x to Python 3.x.

Python 3.2 is now available and it marks the first Python 3.x release that isn't linked in some way to a corresponding Python 2.x release. Python 2.7 debuted in July of 2010, marking the final release of the Python 2.x branch. Python 3 first debuted in 2008 and has been undergoing a process of steady evolution ever since.

Python 3.2 Delivers Multithreading, Concurrency

"From our perspective, Python 3.2’s support for writing multithreaded applications, points to better parallelism and wider adoption for Python in the financial and scientific sectors," Diane Mueller, director enterprise product management at ActiveState told InternetNews.com. "Python is already a key player in the Web frameworks arena and we see Python as an essential part of any Cloud stack deployment."

ActiveState is a tools vendor and provides support for Python with a number of different products. ActiveState's Komodo IDE 6.1 release is already enabled for Python 3.2. Additionally, ActiveState has a Python Package Manager product called PyPym, which also supports Python 3.2.

Among the key new features highlighted by Mueller in the core Python 3.2 release is the concurrent features module, which abstracts processes and threads to enable better concurrency. The Python 3.2 release also includes improved support for SSL connections as well as email.

"The biggest news for Python 3.2 is that the email package, mailbox module, and nntplib modules now work correctly with the bytes/text model in Python 3," The Python 3.2 release notes state. "For the first time, there is correct handling of messages with mixed encodings."

The Python 3.2 release also has a stable ABI, which means that modules that developers build for Python 3.2 will also work on future versions of Python. Having a stable ABI is a critical part of helping developers to move from Python 2 to Python 3, which to date has been a slow process.

"There is still a large number of Python developers that are relying on older 2.x versions, as more of the standard libraries and modules are made available -- developers will begin migrating to Python 3.2," Mueller said.

Python 3.2 for Cloud and Financial Computing

Overall, Mueller noted that among the ActiveState user base, developers are choosing Python for Web and cloud-based application development and for use in financial computing. She noted that as an example, ActiveState recently launched an ActivePython Amazon Machine Image (AMI). The Amazon Python image is intended to help Web developers get started quickly with a pre-tested and packaged-up environment that features all the necessary bits, including Python and various packages, to boot up an instance in the cloud quickly.

"In terms of use in financial computing, we are seeing Python, along with packages like NumPy, matplotlib, and PyIMSL, being used as an alternative to more complex applications like Matlab by quantitative analysts," Mueller said. "They’re not developers in the traditional sense, but Python is an easy language for them to write mathematical and statistical scenarios in."

Sean Michael Kerner is a senior editor at InternetNews.com, the news service of Internet.com, the network for technology professionals.