Jython Journeys

Notes about my work with jython and python

Jython 2.5; it’s a beautiful day!

without comments

A fantastic thing happened today: Jython 2.5 was released! I’ve anticipated this day a long time, as have many others; it’s great that it’s finally happened.


I’ve been using jython since 1999, when it was known as jpython. That was back in the Finn Bock Errata days; Finn had been kind of maintaining jpython after Jim Hugunin left CNRI, and produced a series of upgrade patches and fixes he called Errata. For legal reasons relating to CNRI’s IP, the project name had to be changed to jython; after that Finn, Samuele Pedroni and Barry Warsaw powered forward, bringing jython through cpython 2.0 and 2.1 compatibility. The result was a fantastically robust product, which had completely seamless Java integration, and which went on to become the JVM scripting language for a wide range of applications.

However, after 2.1 had settled down, Finn moved on. Cpython moved onto version 2.2, which brought big changes to the language: metaclasses, descriptors, properties, iterators, generators and nested scopes, to mention a few. All of the new features required large changes in the sometimes complex interactions between cpython and java class designs.

Samuele continued as jython’s maintainer, and a jython 2.2 alpha was produced that provided many of the required new features, and much of which still remains in jython 2.5. But Samuele moved on to the greener pastures of the amazing PyPy project, which is developing a self-hosting python-in-python interpreter. Although that is where his main energies lie, Samuele continues to be a jython contributor and provide valued guidance to the other developers.

The project languished for a couple of years, and the version number did not advance; 2.2 alpha was the state of jython for a long time, principally because of the enormous work involved in implementing a full 2.2 version. Brian Zimmer was project lead for a while, but much of the time there was no clear leadership. Jython 2.1 continued and continues to be used in a lot of places; it’s stability was and is fantastic, and it always did the job. But there was some angst about it’s future, especially with the advance of other JVM scripting languages such as JRuby, and with changes in Java itself, such as Annotations, Generics, etc.

Then the project sprang back to life, with a complete 2.2 being published; Charlie Groves was the key person in that achievement. Charlie did, and still does, an enormous amount of work on jython, and I believe that his dedication to releasing a complete and robust 2.2 version was key to revitalising jython, both the language and the community.

And then came Frank Wierzbicki, the current BDFL, and the person who has done most to bring jython to the modern state it exists in today.

Initially, there was hesitation about which version of the python language to target; cpython had reached version 2.5, and ironpython was at version 2.4. Upgrading jython to 2.3, then 2.4 and then 2.5 seemed like an awful lot of work. Frank adopted a bold strategy: aim to get jython as up-to-date as possible, and bring jython directly to 2.5. And today we’ve seen that that strategy worked!

Congratulations Frank! Superb job!

And well done to a great group of people who’ve contributed fantastic work; Jim Baker, Charlie Groves, Otmar Humbel, Tobias Ivarsson, Philip Jenvey, Nicholas Riley, Leo Soto, among others.

Well done to all the jython development team; ye’ve achieved something wonderful!

Written by alan.kennedy

June 16th, 2009 at 6:39 pm

Posted in jython

Tagged with