Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

jdavidb (1361)

jdavidb
  (email not shown publicly)
http://voiceofjohn.blogspot.com/

J. David Blackstone has a Bachelor of Science in Computer Science and Engineering and nine years of experience at a wireless telecommunications company, where he learned Perl and never looked back. J. David has an advantage in that he works really hard, he has a passion for writing good software, and he knows many of the world's best Perl programmers.

Journal of jdavidb (1361)

Thursday January 17, 2008
09:12 AM

Favorite GUI toolkit

[ #35410 ]

What's your favorite GUI toolkit? Don't limit yourself to Perl. What's the best GUI toolkit you've ever used (or just looked at) in any (or every) language, and why?

And while we're at it, which GUI toolkit do you hate the most?

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • … is that I hate Tk.

  • All I know is that Cocoa [apple.com] is the only thing that hasn't made me barf just reading the docs / sample code. Interface Builder [apple.com] is superb.

    QT [trolltech.com] looked interesting, but C++? You've got to be kidding.

    Many years ago, I confess to purchasing a Motif [opengroup.org] programming manual. I started reading and never wrote a single line of code such was my revulsion.

    Plus, what Aristotle said about Tk.

    On the whole though, writing GUI programs makes me realise why I like the command line so much…

    • FWIW, I really don’t hate Gtk2 [cpan.org]. The docs can be a bit sparse at times, mind, but I haven’t found much to complain about in the framework as such, and the quality of the bindings is superb. They have had serious effort (both conceptual and labour-wise) put into them by a large group of people over a long time and the spit and polish really shows.

      I have to say that wiring up event handlers and juggling widgets in a language that has closures and automatic memory management is so much nicer than

      • I played with the Perl GTK bindings briefly circa early 2002. I recall that I really liked them, but at the time I think I was a Gnome fanboy. I had a graduate-level machine learning class in which we were using matlab as our standing programming and GUI tool, and I was actually planning on using Perl, PDL, and GTK instead for a while.

        But I remember zilch, and I realize I have very little basis for comparison amongst other GUI toolkits. My opinion that GTK was great, or that I really like Swing (I'm st

        --
        J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
        • Note that I’m talking about Gtk2, the bindings for gtk+ 2.0, not Gtk-Perl, the bindings for gtk+ 1.2. The latter were far more rudimentary and have long since been abandoned, as has the underlying toolkit.

  • I actually like Tk and the new themeing that is out for it now. I like wxWidgets as well.
  • I refuse to use things like Tk and wxWidgets.
    Having to specify placement of items is not how I want to spend my time.

    So I use HTML and get the browser to do most of the layout-type work for me.

    And yes, I'm lucky in that I can get all my clients to accept browser interfaces to anything. Eat your heart out :-)).
    • The proper way of writing UIs manually is by packing widgets into hboxes and vboxes, which is pretty much the same as table-based HTML layout. HTML done properly (ie. without tables for layout) is worse than that, actually, since CSS only provides a float model and absolute positioning. There have been some tentative steps towards hbox/vbox style positioning in drafts of newer versions of CSS, but the CSS WG is not exactly the most healthy or productive working group around.