On Sat, 09 Apr 2005 19:59:18 +0200, Diez B. Roggisch wrote: >> why use data files when you have an extremely powerful programming >> language in your toolbox? the advantage of building UI's in Python is >> that you can quickly create "domain specific UI languages", and use them >> to generate the interfaces for you. UI editors may be useful for trivial >> applications, but if you're doing complex stuff, you sure want domain- >> specific abstractions. Python gives you that, XML files don't. > > If you do some creative rearranging of widgets and play around with > different layouts and geometry managers, a good gui-designer becomes very > useful.
Domain-specific abstractions do that *faster* than GUI designers, not slower. And better, too, since every iteration tends to be fully functional and not just a "let's see what this looks like" prototype. Heck, switch 'em out dynamically based on what day of the week it is and how the user feels today. Let's see your GUI-designer do that. And if you're not used to doing it that way, you'll be *stunned* at how much stuff tends to factor out and get easily re-used. An approach that has more data to work with (some idea of what things are doing and what they are for) will beat an approach with less data ("thing at row 4, col 2" or, worst case, "thing at 233,144") any day. GUI designers are like the regexs in the famous jwz quote: "Some people, when confronted with a problem, think 'I know, I'll use a GUI designer'. Now they have two problems." Both have a niche in the "quick fix" department, both are typically over-used, but overall regexs are the more useful of the two; at least there are cases where they are the undisputed right answer (like defining tokens in a language parser). Generally, over the first couple of weeks of a project, the domain-specific language writer may seem to be behind the GUI designer cranking out screen after screen of templated GUI widgets, but after a couple of weeks the domain-specific language user will pull into the lead and never give it up, and will be a lot happier to boot. -- http://mail.python.org/mailman/listinfo/python-list