Just keep in mind that a production ready python 3.0 is a long time
away. You're right to be thinking about it because people who like to
play with things will try to do things with it. You might want to delay
declaring any api stable until after python 3.0 final is out to allow
time for things to be changed as better ways of doing things are found.
Python 2.x will be around for a long time.
John
Johan Dahlin wrote:
Greetings
I'd like to ask for input on how the Python 3.0 transition is going to
affect GNOME.
Python 3.0 is the current development focus of the Python community.
It is different from the old 2.x series in the sense that it will not be
backwards compatible with the old python releases. A program written for
Python 2.x will not run under Python 3.x unless it restricts itself to a
tiny tiny subset which is really not practical (for instance, unicode
can't be used).
The first alpha release of Python 3.0 is going to be released in the
next couple of weeks, this is a good opportunity to discuss this before the
transition actually starts. 3.0 is scheduled for release in August 2008.
All the python bindings needs to be ported over to the new C Python API.
We'd like to take this opportunity to clean up a bit of the cruft we
collected during the years of strict backwards compatibility.
For instance it's not possible to significantly optimize the loading
of the gtk+ bindings without breaking the API, both OLPC and Nokia has
been running into this problem.
What I'd like to propose is a to branch of pygobject and pygtk to a
python-3 branch where backwards compatibly can be broken.
Transition will be done by a tool similar to 2to3.py[1] used by Python
which
will help automate the process of converting a program using the old api to
the new.
When this branch is mature enough I'll propose it for inclusion in the
GNOME bindings release, which will be an addition, not a replacement
for the old bindings.
The current version of the python bindings will be maintained as long as
there is interest in the Python 2.x platform. But maintenance will
eventually cease as the general focus moves over to Python 3.x.
Parallel installability is not a direct issue for us, since it's already
solved at the python level. The current bindings will not compile under
3.x and the new ones will not compile under 2.x.
Thoughts?
Johan
[1]: http://svn.python.org/view/sandbox/trunk/2to3/
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/