Re: About GTK+ 3.0 and deprecated things
- From: Mikael Hallendal <micke imendio com>
- To: Morten Welinder <mwelinder gmail com>
- Cc: Owen Taylor <otaylor redhat com>, gtk-devel-list gnome org
- Subject: Re: About GTK+ 3.0 and deprecated things
- Date: Thu, 17 Jul 2008 12:55:59 +0200
Hi,
Just one thing, the entire starting point of our discussions around GTK
+ 3.0 was to avoid the 1.2 -> 2.0 pain. The proposed 3.0 is nothing
like the 1.x->2.0 migration so I'm a bit unsure on the relevance of
looking into these pains (other than to point out that they will not
be there this time).
The initial proposal was very careful with introducing new features
that applications would have to port to for this very reason and we
focused on what we believe are necessary cleanups and sealing in order
to be able to continue to develop the toolkit at a feasible rate.
A suggestion that came up in the post-guadec discussions was to move
deprecated widgets to libgtk3-compat instead of removing them. This
means that applications using these will have to add that as a
dependency to his code base in order to continue using them. Off the
top of my head this sounds like a good suggestion to me.
The 1.x -> 2.0 change was painful for everyone who had an app that
needed porting, however I find it pretty irrelevant in comparison to
2.x -> 3.0.
Cheers,
Mikael
16 jul 2008 kl. 22.51 skrev Morten Welinder:
Hmm, strangely most code worked fine with GTK+ 2.0 with a
recompile...
(e.g., I remember doing that for gftp, not a trivial app.)
That sounds like a serious case of selective memory. Or maybe gftp
has the ui from "hello, world".
Here's a partial list of suffering that we went through. Let's see...
* All widgets has to be reworked and audited. There was new reference
handling and double destroy calls added to the trouble.
* All glade files needed to be redone, or at the very least
subjected to
heavy post-translation surgery with Emacs and Perl.
* All code needed to be audited for UTF-8.
* All font handling had to be reworked. Drawing changed too.
* Whenever something crashed, leaked, or otherwise simply did not
work,
we had to audit not only our own code, but glib, pango, and gtk+ too.
There were piles and piles of bugs in the new code.
* We had to struggle with sluggishness of the resulting gtk2
application.
The above is just what I can remember off the bat and is *before*
changing to use the new widgets of gtk2, some of which were only
partial replacements of what they deprecated: the tree view, for
example, was touted as right for all kinds of tables, but it has
become clear that it cannot handle large ones.
Gnumeric has about 34k lines dedicated to dialogs, not including code
that implements the actions of those dialogs. Add to that 20k lines
of
widgets and another 20k lines of further gui code. That excludes code
for graphs. You just do not audit that in a weekend or two.
You want us to go through some variant of that every 3-4 years?
That's
insane!
What, exactly, is it that is hard about maintaining 2.x that will
not be
hard for 3.x? I have seen nothing but unsubstantiated assertions
about this. What I have observed is that sub-systems like GtkPrint
get dumped in and abandoned right away. With bayesian mind
that tells me that the maintenance situation will not be better for
3.x
What really bothers me is that people go out of their way to break
working
code. Looking at svn logs tells me that the effort of keeping the
old widgets
and methods around is minimal. It's not just the old gtkclist --
the recently
deprecated gtktooltips shows the same thing. The second
unsubstantiated
assertion is that the deprecated widgets cause a lot of maintenance
work
beyond the self-inflicted pain of deprecation. The data does not
support
that assertion.
I would like to see all this gtk3 talk pushed 3-4 years out into the
future.
There are lots of things that need to be fixed and introducing new,
buggy code elsewhere is not going to fix it. If that means the world
will have to wait for animated, semi-transparent widgets, then that
would be fine. No real work will get done of behalf of those features
anyway.
Morten Welinder
PS: For whatever it's worth, GnuCash also took years to go gtk2.
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]