2003-12-20 13:07

Well ordered toolkits

I think some months of formal math training would do wonders for the average guy.

And I don't mean algebra, I mean logic, set theory, that kind of thing.

The obvious example is, of course, comparing two things. There is the concept of the well ordered set. In a well ordered set, for any subset, there is a larger and a smaller member.

In other words, if you compare any group of things, one is the largest, one is the smallest.

That may seem obvious, because people only think in terms of integer or real numbers when they see > , but real life is different. Real life objects are usually not well ordered, and that means you can't sort the whole set, nothing ever comes out on top.

Because the crappy math people learn makes them think in linear terms [1], reality is approached in linear, limited terms.

what I am thinking about:

People say Qt is better than GTK+ or viceversa.

Well, those are multidimensional objects you are comparing, and in order to make it meaningful, you need to establish a metric that will make the toolkit-space a well ordered set.

That metric, sadly, is subjective and personal. While Bruce Perens[1] may see the acquisition cost for proprietary developers as the most significant part of it[2], others may see techical features as more important.

But the telling point is this:

If you are a free software developer, why would you choose GTK+? What is your metric, where GTK+ is larger?

I really have no clue on that, since I haven't touched GTK+ since I recoiled in horror from it in early 1996, but I will try my best.

  • You prefer coding in C
  • You want your app to work well with GNOME
  • You find the GTK+ API appealing
  • You like some GTK+ development tool, like glade
  • You see better performance in GTK+ than in other toolkits

I can't find any other reasons, and even one or two of those seem iffy to me ;-)

You prefer coding in C: Ok, that's reasonable. If you want to code in C, GTK+ is probably the way to go.

But why, oh, why do you want to do that? Really, come on, C is a poor language for almost every use. Your language metric is probably the guilty part of your choice of GTK+. But that's another set.

You want your app to work well with GNOME: Ok, that is reasonable. I could say Qt apps work well with GNOME, too, but that's my own subjective bias, and really not defensible, since GTK+ apps do work better with GNOME.

The GTK+ API is appealing to you: you are a sick person? ;-) Ok, that was harsh: you have bad taste in APIs? Ok, that was still harsh: I don't understand you. Yeah, that's better.

Luckily, you don't have to use it, you can use decent wrappers, nowadays.

You like a development tool, like glade: I don't see glade as a big thing compared to others, but hey, that's just my taste. Reasonable point.

Performance: You want performance? Use fltk. Even pure Qt seems to be about on par with GTK+. Of course if you pair this with the C argument, they sinergize. After all, GTK+ does have better performance than Xaw3D or somesuch. Maybe XForms?

Please, if anyone reads this, I am not trying to flame GTK+ or its developers. I am sure GTK+ is the greatest C toolkit around, and developed by smart people.

I just also don't see any compeling reason to use the thing for free software development. For proprietary coding? Maybe, if you are low in cash. My own metric (for whatever little it's worth) doesn't make me see GTK+ as an interesting tool. If yours does, please help me improve it.

Yes, I know stuff like saying the API is ugly can't be improved, because you can't convince me that it isn't[4], but you can help provide new reasons, or strengthen others, or maybe tell me bad points about the toolkit I see as better.

[1] Ok, people think that way even if they don't learn math, the thing is, math teaches you to think non-linear, or multidimensional.

[2] An interesting fellow. Remember when he quit Debian in a huff?, and that he was going to develop a Red Hat-based distro that was more desktop-oriented? That was probably around 1998 or 1999, IIRC. BTW: you won't find all of it in the Debian archives, "someone" removed it.

[3] Which is really a bizarre argument, isn't it?

[4] I also think most of Dalí's and Picasso's paintings are ugly. How can anyone convince me they aren't? They can't.


Comments powered by Disqus

Contents © 2000-2019 Roberto Alsina