In what has been called by some commentators the ‘most significant update in five years’ the latest version of Python finally come of age. Python 2.5 not only apparently fixes some 450 bugs discovered since the 2.4 release was, err, released, but also throws in some 350 patches for good measure. Hey Microsoft, there’s a new patch king in town and it’s the Python Software Foundation.

Although officially ‘suitable’ for production use, the changes that help improve the way Python supports 64 bit systems might break certain C extension modules, so you might want to take that particular definition of suitable with a pinch of salt.

That said, the use of Buildbot to continuously test across platforms does enable the Python development team to uncover potential problems during development in a more timely fashion that ever before, hence all those big fixes and patches. As well as being more reliable, because of the Buildbot effect, Python 2.5 is also claiming to be faster. Much faster, with major speedups in exception handling and string operations, as well as a number of other changes to improve performance.

But I guess that the new language features will be of most interest to those of you reading this: features such as the fact that the compiler now converts the source code to an abstract syntax tree (AST) before producing the bytecode; the 'with' operator replaces a common try/finally idiom that results in much cleaner and safer code; generators have gained push, throw and close methods so that values passed to push will be returned by the yield statement when the generator is resumed, throw takes an exception and causes the yield statement to raise the passed exception in the generator, while close is used to terminate a generator. This turns generators into a form of co-routine and makes them even more powerful. So the Python guys tell me. They also tell me that internally Python was changed to use the Py_ssize_t type, enabling many structures that were limited to 2^32 objects to now hold up to 2^64 instead.

Want the complete list of what’s new? Then head over to the What’s New in Python 2.5 page and check it out yourself.

As Editorial Director and Managing Analyst with IT Security Thing I am putting more than two decades of consulting experience into providing opinionated insight regarding the security threat landscape for IT security professionals. As an Editorial Fellow with Dennis Publishing, I bring more than two decades of writing experience across the technology industry into publications such as Alphr, IT Pro and (in good old fashioned print) PC Pro. I also write for SC Magazine UK and Infosecurity, as well as The Times and Sunday Times newspapers. Along the way I have been honoured with a Technology Journalist of the Year award, and three Information Security Journalist of the Year awards. Most humbling, though, was the Enigma Award for 'lifetime contribution to IT security journalism' bestowed on me in 2011.

I think the speed of new releases of python is not a good idea. Python have so many releases and they break things.

GUI's like wx,QT,GTK cant keep up with this mess. I know tk is there. But who uses tk for serious stuff.?
Why cant they make LTS releases. Say every 2/3 years and keep patching the baby when needed?

If a platform is not uniform, people runs for safety.... meaning other platform/tool.. Coming from C++ to python was a breeze. I like python... i mean love ;) but i hate the nonsence,ideas and ways of its management.

Python is a great tool if looked after very well without this useless race. ;)
Python is here to stay but hay.... we cant keep up with this race. Stop breaking our stuffs guys!
Thats my take ;)

People don't seem to run away from python. See this popularity comparison http://langpop.com/ for example. The only version of python which really breaks code is 3.0, but there were serious reasons for this evolution of the language. I think python only becomes better with time.

But we are not in a hurry. Soo many versions for what? Yea for dependancies and headache kum sleepless night for newbie's.

I meant , why cant we have LTS releases??? A stable widely accepted stuff than version upon version and mess upon mess without measure!.

I love pyhon cos i like to be lazy and its the good tool to save my butt but however... its a nightmare when your code today does note work tomorrow due to multiple unnecessary releases.

Its just like ubuntu that a liltle change to a chicken leg brings in another BOOMBOOM version. Stability is very important.

I love ubuntu and python. I am using both and always have but they makes me very angry with how they carry things around. At least Mr. Ubuntu got LTS.

Dont make a mistake. yea... python is not ubuntu but at least the idea of stabilty for a software, system, tool etc are the same.

Long live the snake!!!!! :)

Edited 5 Years Ago by richieking: n/a

richieking this was an 5 years old post.
As Gribouillis posted python has never break anything before release of python 3.
Python 3 has been planned for many years,and is of course the right descion for the evolution of this great language.
But the are very clear that python 2 will for most pepole be the best choice for some years more.

If you look at tiobe over the last 10years rating there are not many languages that has an posetive evolution,python has is one of the few the languages that has an posetive curve.

But we are not in a hurry. Soo many versions for what?

It`s of course to get new features out,and fix some bugs.
If you dont like it just stay with an older version.

I have every version from 2.5 to 3.2 installed on my laptop,that one way to test things out,and stability has never been an issue.

Dont make a mistake. yea... python is not ubuntu but at least the idea of stabilty for a software, system, tool etc are the same.
Long live the snake!!!!!

ubuntu has nothing to do with python stabilty,python has been and are stable on all platform.
And bugs are taken serious in python,look at bug report in python.

Edited 5 Years Ago by snippsat: n/a

snippsat
1.
Are you carefuly reading my stuff...?

ubuntu has nothing to do with python stabilty,python has been and are stable on all platform.
And bugs are taken serious in python,look at bug report in python.

It was about every software,App etc stability.

2.
If you wrote an application in python 10 yrs ago in python. They are not guarenteed to work today.
12 releases in 11 years http//www.python.org/download/releases/
.. Why cant we have LTS and we keep doing bugfixing till most stuff are controled for a major realese. Simple logic!

I use python myself. I like python but it does not mean that its above critcism.
Face the fact. ;)

Edited 5 Years Ago by richieking: n/a

Awesome. Thanks for the good information. And yup, even I feel Java gets updated once a week.

The article starter has earned a lot of community kudos, and such articles offer a bounty for quality replies.