[Zope3-dev] Re: Requiring Python 2.3

Tim Peters tim at zope.com
Wed Sep 24 00:27:15 EDT 2003


[Yuppie]
> What about migration from Zope 2 to Zope 3? A major reason why Zope 2
> switched to Python 2.2.3 was to make it easier to backport code from
> Zope X3.
>
> See Brian's edict:
> <http://mail.zope.org/pipermail/zope-coders/2003-January/003204.html>
>
> What's the new strategy? Zope 2.8 requires Python 2.3? No backports?

There's no new strategy yet, people are just talking here.

As one of the people who worked on Python 2.2 and Python 2.3, I very
strongly prefer Python 2.3 on technical grounds -- it had 19 months of
development that will never be backported to the 2.2 line.  2.3 is faster,
and already appears stabler than 2.2.3 on Python's major platforms (Linux
and Windows).  2.3's development process focused on stability and
consolidation of the large mass of new language features that went into 2.2.
If you look at Andrew Kuchling's excellent summary of what's new in 2.3:

    http://www.python.org/doc/2.3/whatsnew/

one thing to notice is how very few visible changes were made to the core
language for 2.3.  There was much more work on the libraries, and much more
on invisible improvements.  A good example:  2.3's pymalloc (an invisible
subsystem for managing the raw memory used by Python objects) has made the
difference between hours and seconds of runtime in some pathological cases,
and is at least measurably faster and more memory-efficient than using the
platform malloc directly on all systems tested to date; it also supplies
powerful debugging aids in a debug build.  pymalloc existed as an option in
the 2.2 line, but all the tuning to make it *fly*, and a truly complicated
rework to plug a security hole, can only be found in 2.3 (since pymalloc was
only an experimental option in 2.2, even plugging the security hole couldn't
be sold as "a bugfix" in the 2.2 line, so that fix will never be
backported).

Because 2.3 final has been released, and 2.3.1 will probably be released
this week, current Python development is on 2.4, and no volunteers that I
know of have any interest in backporting to the 2.2 line anymore.  So if you
stick to the 2.2 line, you're using what's closing in on a 2-year-old
product that seemingly nobody is willing to support anymore (unless you want
to pay for support, of course -- or do the work yourself).

In contrast, lots of people have contributed to the upcoming 2.3.1 bugfix
release, and everyone who actually works on Python development uses 2.3 for
their own work.  I certainly do -- it's better than 2.2 in every respect.

WRT Zope, do note that

    http://www.zopenewbies.net/

has been running on Python 2.3 since the day after 2.3 final was released.
Destructive attraction to aging software is a flaw newbies somehow escape
<wink>.




More information about the Zope3-dev mailing list