A bit late post, but here is my thoughts on the subject.

As it looks right now, It will be virtually impossible to write code
that works under both Python 3.0 and Python 2.x. This has a huge
impact on Zope, because Zope as a framework does not only have a huge
codebase in itself, but an even huger codebase of third-party

If it isn't possible to write code that works under both 2.x and 3.0,
that means that all of the codebase must be moved simulatneously. Even
if we made a version of Zope that works under Python 3, most
third-party product would not run under Python 3.

In effect, if we port Zope to Python 3, we then have *four*
incompatible code bases. Zope 2 for Python 2 and Zope 2 for Python 3
and Zope 3 for Python 2 and Zope 3 for Python 3.

This is not only completely unmaintainable, it's never going to
happen. I can possibly see Zope 3 moving to Python 3, the Zope 3
community is still small enough and well organized and tight enough
for this to work. But it has to be pointed out that any Zope 3 module
that isn't also ported will be unusable.

I do not see how Zope 2 will ever be ported to Python 3, because doing
so would break all the thousands of third-part products out that that
doesn't get ported at the same time. This of course means that Plone
will never get ported to Python 3. Which in fact means that one of the
most successful and biggest users of Python will never move to Python
3. And it also means that anybody that is today using Zope 3 and
hoping for The plone.* modules to continue to contribute to Zope 3,
will see that effort virtually die if we port Zope 3 to Python 3.

I'm hoping that Guido will see the errors of his ways, and introduce a
Python 2.7 that has more forwards compatibility than what has been
promised for 2.6, so that there can be a useable overlap between
Python 2.7 and 3.0. Maybe a 3.1 with some more backwards compatibility
will be needed to, I don't know.

Just my 2 cents.
Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to