Re: Python 3.0 plans



On Wed, 2007-08-29 at 12:37 -0300, Johan Dahlin wrote:
> Greetings

Heya,

> 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).

So this is a great opportunity to break APIs and go GNOME 3.0...

Ok, lame jokes aside.

> 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.

Couple thoughts:

  - Do things more Pythonesque.  Looking at Pango bindings, for example
replace all to_string() methods with __str__.  Same for compare(),
equal(), etc.  Or should it be in addition?

  - Finish and use gobject-introspection.

behdad


> 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/
> 
> _______________________________________________
> desktop-devel-list mailing list
> desktop-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/desktop-devel-list
-- 
behdad
http://behdad.org/

"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]