comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic.brenta@insalien.org>
Subject: Re: Xlib Binding or Re-implementation?
Date: 18 Mar 2004 01:19:51 +0100
Date: 2004-03-18T01:19:51+01:00	[thread overview]
Message-ID: <87vfl3nh08.fsf@insalien.org> (raw)
In-Reply-To: 985cbdf6.0403171511.15aa1cfc@posting.google.com

bma3@dana.ucc.nau.edu (Ben Atkin) writes:

> > X11 binding:
> > 
> >    http://www.adapower.com/lab/adax.html
> 
> I'll check it out, thanks.
> 
> > What is it that you don't like about Gtk?
> 
> It isn't Gtk in particular. It's that GUI libraries for 'nix, other
> than Qt, don't encourage good GUI design principles. In fact, if you
> compile their examples on GTK's website, you will get a broken GUI. By
> broken I mean that pressing Esc doesn't close a dialog box, and
> pressing Enter in a single-line text field doesn't cause the default
> button to be pressed and the appropriate action to be taken.

That is true, but at least GNOME has published human interface design
guidelines which, if followed, lead to this consistency.  Xlib doesn't
have such guidelines, it's not even a toolkit.  If you mean to use Xaw
(the Athena widgets) or Xm (Motif or Lesstif widgets), you won't
necessarily have a good GUI either.

> Plus, GTK programs are full of other types of bugs, many of which
> could be prevented by using something other than type-unsafe macros,
> leading to spaghetti code.

This is comp.lang.ada; we do not use type-unsafe macros here :)

The designers of GTK+ never intended for GTK+ applications to be
written in C.  I personally attended a presentation by Owen Taylor, a
member of the core GTK+ team, at FOSDEM 2003.  He specifically said
"Do Not Program In C", and he explained that his employer Red Hat uses
Python for all their GUIs.

The main (perhaps only) reason why GTK+ itself is written in C is to
make it easy to write thick bindings to it from high level languages
(see http://www.gtk.org/bindings).  GtkAda is one such binding, and a
pretty good one at that.

> Part of me wants to jump on the GTK bandwagon, and help things
> progress toward a standard. But what I really want to progress toward
> is having well-designed GUI's.

Over and above the thick binding to GTK+, GtkAda provides several rich
widgets (canvas and MDI come to mind) and certainly the authors would
gladly accept your contributions.

There is also Glade, the graphical UI designer, which can generate Ada
source code.  If you're really interested in good UI design, you'll
probably be much more productive with it than with Athena or Lesstif.

I suggest you really have a good look at GtkAda; you will probably
find that it already provides much more of what you want than do Xaw
or Xm.  And if something is missing, please offer to contribute :)

(You may also be interested in GNUStep, which is one pretty good
toolkit with UI guidelines and a graphical designer, but for that
you'd have to go to the Objective-C newsgroup.  GNUStep has been quite
active in recent months.)

-- 
Ludovic Brenta.



  reply	other threads:[~2004-03-18  0:19 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-16 21:20 Xlib Binding or Re-implementation? Ben Atkin
2004-03-17  9:46 ` Preben Randhol
2004-03-17 23:11   ` Ben Atkin
2004-03-18  0:19     ` Ludovic Brenta [this message]
2004-03-20 22:48       ` Ben Atkin
2004-03-21  8:34         ` Preben Randhol
2004-03-18 10:00     ` Preben Randhol
2004-03-18 10:09       ` Peter Hermann
2004-03-18 20:36         ` Randy Brukardt
2004-03-31  7:36       ` David Starner
2004-03-17 10:34 ` Ludovic Brenta
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox