On Jul 12, 1:43 pm, CM <cmpyt...@gmail.com> wrote: > > > One reason there hasn't been much demand for a GUI builder is that, in > > > many cases, it's just as simpler or simpler to code a GUI by hand. > > I use a GUI builder because I'd rather click less than > type more. I just tried that in Boa Constructor; with ~10 > mouse clicks I produced 964 characters of Python code.
Remember, it's NOT the length of the code that matters, no, it's the motion of the "sources" ocean. Did it produce rough seas full of spaghetti monsters? Or tranquil fjords worth pining over (sadly to death apparently?)? 1. Never judge the quality of code simply by it's length. Because if you do, some folks might suffer from "source envy"! Also, you MAY have created 964 chars of code with your ten or so clicks HOWEVER that is just template code. You'll need to set many attributes for the widgets before they are ready for prime time. Your "supposed" ten or so click estimate is very naive. It takes MUCH more to create even a simple GUI, because, we have NOT even discussed logic yet! > Now, sure, depending on how I wrote the code I could do > better than that, but for me, I just find it more > intuitive and easier to use a GUI to make a GUI. Personal opinions should always be respected, and as such i respect yours but later i would outline my GUI design workflow so pay close attention. > > Often a GUI builder is used as a bad replacement for > > sketch-pad and pencil. > > I would use a sketch-pad and pencil and *then* use the GUI builder. But do you really? Your following statements lead me to believe that you don't. > What's nice about a builder is one can move things around > quickly and see the results in the real application, which > one can never really see well on a paper sketch. I prefer to skip any pencil and paper completely myself. I just use my imagination. UNLESS the GUI is EXTREMELY complicated. For me the design of a GUI starts in my brain. No pencil, no paper, no three hours using Auto Cad GUI designer. Next i start creating widgets and laying them out using geometry managers (in CODE). Finally i run a few tests, make a few changes, and design phase is over. Time for logic. --------------------------------------------- My argument against GUI builders is two fold. --------------------------------------------- 1. GUI builders remove us from the initial "mental design phase" and temp us to let our inner "click-ity-click" and "drag-ity-drag" child loose. This inner child likes to play but he hates to plan. Very soon he has the play room floor (source code) overflowing with toys (code) arranged in a completely haphazard way. Unlike the child however, there is no code mommy to spank this bad little boy when he is a programmer. So he just keeps messing up play room after play room making a complete fool of himself along the way. 2. GUI builders remove us from the source code. When you are playing "clicky-click" with yourself you could be in the trenches fighting the spaghetti code monster. Instead you are losing mental focus. Remember, playing with yourself makes you lazy! ---------------------------------------------- What happens is... you get lost "playing" and fail to keep your mental focus. A programmers metal focus is his most valuable weapon in the fight against the spaghetti code monster. I am a programmer. I love my source code more than i love most people in this world. I do not want to be away from my source. I am jealous of my source! And so too should you be. Kevin made the argument earlier that Tkinter (and others) are so easy to use that they render needing a GUI builder useless -- and he is correct! But did you know that there are GUI libraries EVEN more highly abstracted than Tkinter? Oh yes! So your "OMG, this typing and using my imagination is so difficult" *crap* is really making me laugh. That is my argument people. Opinions may vary. Keep watch for the spaghetti code monster! Cheers folks. PS: if you don't like to type, programming IS NOT the best career (or hobby) choice for you. -- http://mail.python.org/mailman/listinfo/python-list