Re: [gtkmm] Talk about a major rewrite



Joe Pfeiffer wrote:

If GTK is a piece of crap, what's better?  It's so much better than
other toolkits I've used, that calling it a piece of crap seems, well,
stupid.

As I said, the Fresco API is better. It was designed, whereas Gtk seems to just have... happened, with new bolt-ons added as needed. Just one example: there have been THREE different list/tree widgets over the development of Gtk, and STILL NONE OF THEM WORK FOR ME. SHOULD I WRITE MY OWN, A FOURTH ONE NOW? I'm not yelling at you but I'm trying to show that my frustration is not un-justified. I have been using gtkmm for a long time.

<snip>

> Maybe I'm just being too picky, and I am picky when it comes to > programming, but it is striking to me that I don't feel this almost > constant frustration with any other library that I regularly use, such > as the C++ standard library, Unix networking functions, 3D scene graph > libraries, OpenGL, sound libraries, POSIX threads, etc. In all other > cases I can (eventually) perceive an underlying concept behind the > design, appreciate the designer's work and implement my program using > their library. With gtk I am mostly cursing the simplistic design and > trying to find workarounds to do what I want.

I notice STL is conspicuously absent from the above list...  now,
THERE'S a piece of crap (pulling the trigger on my flamethrower).

No, I include it in the "C++ standard library". I have no problem with STL, I use it a lot and it works well. Again, you may not like the design, but at least it had one, instead of "oh, I guess we need this function for the Gimp, let's add it."

> My own reaction, in general, is that I like a fully imperative
> programming model, I think in terms of that model, and I find an
> event-driven model is just plain weird.  But all the toolkits use one,
> and of the toolkits, GTK is the one that seems the most intuitive to
> me.  gtkmm then takes that, and does what I regard as a really nice
> job of wrapping that in the language it's more natural for in the
> first place.

Gtk is good for quickly packing some widgets in boxes, hooking them up to code with signals and having a decent looking and working simple application running. Beyond that, I run into problems, such as when I don't want the default widget behavior or settings, I need to represent many objects efficiently with full interaction, or when the "container is layout" model is too simple. Again I am reluctant to start exhaustively going into details because it would take too long and there isn't much point. This is really just a rant anyway.

Bringing this back to gtkmm a little, part of the reason for Gtk's weaknesses may be the habits of C programmers. They made a C object system, but unlike with gtkmm it is still not typical for C Gtk application programmers to derive new custom classes for their needs as gtkmm programmers would. Note also that Gdk did not originally use their own object system. So despite having it available, maybe it's still not natural for C programmers to think to use object-oriented design techniques at first.

--
Michael Babcock
Jim Henson's Creature Shop





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