Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

GUI builders, good or bad?

by Trag (Monk)
on Jun 18, 2004 at 23:46 UTC ( #368094=perlmeditation: print w/replies, xml ) Need Help??

Dear monks,

Recently, I have installed Prima which comes with a visual gui builder, allowing you to create a gui without having to know how to write one manually. How do you feel about such tools? Keep in mind that use of such tools embodies both laziness and impatience in the programmer.

I await your responses.

our @item = reverse (114, 101, 107, 99, 97, 104, 32, 108, 114, 101, 80, 32, 114, 101, 104, 116, 111, 110, 97, 32, 116, 115, 117, + 74); local $my = reverse ")meti@\ ,rhc (pam tnirp";eval $my;

Replies are listed 'Best First'.
Re: GUI builders, good or bad?
by Abigail-II (Bishop) on Jun 19, 2004 at 04:37 UTC
    How do you feel about such tools? Keep in mind that use of such tools embodies both laziness and impatience in the programmer.
    That's a strange way of asking a question. It seems you are already trying to defend yourself. Are you looking for an argument of some sorts? Does it matter how we feel? If I said such tools give me the urge to dance with a duck, what does that mean to you? Or is this question more like a Rorschach test (you know, the one where they show you an inkblot on a paper that was folded right after being stained, and they ask what you see in it (an inkblot, what else?)), and your question has a deeper meaning? (And the urge to dance with a duck means that later in life you'll have difficulties in relationships with oranges),


Re: GUI builders, good or bad?
by abell (Chaplain) on Jun 19, 2004 at 17:37 UTC

    If you keep presentation and logic separate, you can have the best of both worlds. Build the application logic and use the gui builder to build an interface which calls the right methods in response to interface events. This way you save the time you would use in manually constructing the interface but still keep complete control over the guts of the application and the way they are written.



    The stupider the astronaut, the easier it is to win the trip to Vega - A. Tucket
Re: GUI builders, good or bad?
by Arno`Slack (Initiate) on Jun 19, 2004 at 10:31 UTC
    Personnally i'm using Qt designer for the design of the GUI. My view is that a GUI builders help you to increase your productivity. I don't see where is the interest of searching one hour during the good position of your widget, it's not the interesting thing. I prefer to loose time to read documentation to learn how to do something more interesting. Moreover i'm not sure that is possible to create a GUI without having to know to write one manually at all :-) Finally, i think that once you know how to make a GUI it's not really producive to repeat X times same things just for ethical reasons.
Re: GUI builders, good or bad?
by jplindstrom (Monsignor) on Jun 19, 2004 at 13:29 UTC
    A GUI is by nature a visual thing, not a text thing. Some problem domains are more suited for a WYSIWYG approach, and this is one of them.

    For you to be effective, the GUI builder shouldn't create code for building the GUI. It should let you design the GUI, and then create the GUI for you. No code.


Re: GUI builders, good or bad?
by l3nz (Friar) on Jun 19, 2004 at 05:54 UTC
    I usually don't like things like Gui builders, because they tend to generate code that's quite unmanageable - it works fine as long as you don't have to touch it, but if you have to, it's a royal PITA. I have never used Prima, so maybe that's different.
      Even if I won't use the code a GUI-Builder produces, I prefer to use it because it still gives me the freedom of easy design, spitting out the xy-coordinates I need. Illustrator and (milimeter scale) paper are nice design tools I use as well, but hell I am to lazzy to fiidle around with xy-coordinates.
Re: GUI builders, good or bad?
by shotgunefx (Parson) on Jun 19, 2004 at 02:49 UTC
    The only one I tried was one I started working on. I once knocked out a basic HTML->TK converter. You fed it an HTML form and it would ouput the code to create it in TK. You just had to fill in the callbacks. If I ever get time, I should pick it up again.


    "To be civilized is to deny one's nature."
Re: GUI builders, good or bad?
by andyf (Pilgrim) on Jun 20, 2004 at 02:15 UTC
    Such things are self evidently _good_things_. You can't blame the tools if the results are crap. There will aways be people capable of using the finest tools to turn out rubbish. But with easy tools there will be more doing it, which means although theres more rubbish, theres also more great stuff.

    They said easy to use synthesisers and audio tools would ruin music. Theres a lot more music, lots of its very bad, but the best of it is better than ever.
    They said simple scripted open games engines would ruin the quality of games design. There has never been such a wealth of creative activity from the mod scene pushing the field forward
    Tools that popularise a practice are to be welcomed. They move the programmer one step further up the ladder of abstaction and closer to a wider less specialised parlence they can share with more people. Personally I would probably use such a tool. I take no pleasure in GUI design once a program functions. I think the equivilent Motif builder I used years ago was called Masai.
    btw, it goes without saying I'm with Antonio on this, a properly constructed program should operate independently of its interface, think loose coupling. It should, in the best of cases be trivial to swap out a CLI for a GUI, or file/config based interface to script the thing. If your gubbins has all the right hooks, who cares how the data gets to and from it?

Re: GUI builders, good or bad?
by diotalevi (Canon) on Jun 19, 2004 at 02:06 UTC
    Ok so you like it. Good for you. Are we supposed to disagree with you? Were you expecting that?
Re: GUI builders, good or bad?
by Courage (Parson) on Jun 20, 2004 at 17:08 UTC
    I use GUI builders from time to time.
    I beleive any GUI builder makes quite good by helping user, but you must not require from it doing things that it was not designed to do...

    As long as Perl does not have its own native GUI builder, I used workarounds.

    Earlier I had a technique to use C++ Builder to design GUI and call Perl from C code (number of small scripts as shortcuts, embedded Perl and nothing more compilcated)

    Now I use a technique of using VTCL and invoking it from Perl using Tcl::Tk module.
    I described this earlier, please see it at A technique to create GUI design for Perl application using vtcl

    I advice latter one as a way to go...

    Courage, the Cowardly Dog

Re: GUI builders, good or bad?
by Trag (Monk) on Jun 19, 2004 at 09:55 UTC
    My reasoning is though is that if you use them, you barely have to know how to work with the code that they generate, and don't have to learn the module.

    our @item = reverse (114, 101, 107, 99, 97, 104, 32, 108, 114, 101, 80, 32, 114, 101, 104, 116, 111, 110, 97, 32, 116, 115, 117, + 74); local $my = reverse ")meti@\ ,rhc (pam tnirp";eval $my;
Re: GUI builders, good or bad?
by neniro (Priest) on Jun 21, 2004 at 08:31 UTC
    I'd like to explain my point of view. There are two ways to work with such tools.

    1. A bottom-up way and
    2. a top-down way.

    If you go the bottom-up way you have to learn how to use all those widgets - step by step. At the end you know how everything goes and using the GUI builder just accelerates your work. You know what you're doing.

    If you prefer the top-down way, you use the GUI builder without a clue about the backgrounds. Of course you're learning a way to handle your tasks, but you miss details. You start fast but you'll never reach "top speed".

    It's your decision to choose how to work with those tools.


Re: GUI builders, good or bad?
by eserte (Deacon) on Jun 21, 2004 at 10:44 UTC
    Usually GUI builders produce bad source code, and even the produced GUI layout is not useable for most applications. Why? Most GUI builders only allow pixel exact layout, and not relative layout. In Tk terms, the layout code produced is using the "place" geometry manager, and not the "pack" or "grid" geometry managers. This works fine if all application users have the same font and screen settings, and if internationalization is not needed, but fails miserably if this is not the case.

    Last time I looked at Prima the GUI builder was solving the problem by ignoring the user's font setting (as for example set by .Xdefaults on an X11 system), but forcing it's own fonts, resulting in ugly scaled fonts on my system.

      VTCL allows 3 different geometry managers, namely grid, place and pack. Don't use placer if you don't want to.
      SpecTix/SpecTcl use grid only.

      I have very few experience about Java's GUI designer, but all of them that I had chance to try used packer and placer as geometry managers, namely I tried Sun's Forte and Borland's JBuilder.

      That said, "place" is not the only one that is actively used by GUI designers..

      I have no experience what produces Prima though.

      Courage, the Cowardly Dog

      The Glade builder for Gnome uses grid layouts by default. You can place a pixel-by-pixel layout if you want, though. It has been a while since I've used it, and I don't remember anything about the quality of code.

      send money to your kernel via the boot loader.. This and more wisdom available from Markov Hardburn.

        This is why you use libglade and it's XML features. It produces the GUI as a description file that any program language can read, thus seperating the GUI definition and the code. As a result the code can work with multiple GUI definitions and you can change the GUI without changing the code. Python GTK has an excellent module for libglade. I don't know if Perl has one or not -- let me know if it does, I like Perl better. --MPD

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://368094]
Approved by diotalevi
Front-paged by Courage
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2023-06-10 01:14 GMT
Find Nodes?
    Voting Booth?
    How often do you go to conferences?

    Results (36 votes). Check out past polls.