I do fundamentally not agree with you that IDE's and GUI design tools
are a waste of time.
I think that with a good IDE (graphical or not) the synergy between
editor, debugger, documentation, refactoring,
translations/internationalization, version control, software modelling,
profiling, metrics, can be very valuable.
Example: At my first employer we could do the same projects in 60% of
the time with Borland C++Builder, compared to MS VisualC++ 6. We would
put this into offerings to customers, esp. if they had a corporate
policy prefering VS 5 or 6.
Some features I realy line about some IDE's I've used:
- Automatic generation of UML diagrams from project code.
- Runtime expression evaluation/data inspection/editing.
- Pressing F1 will bring up the documentation of the class and method
your cursor is on.
- The debugger detects if an object is never deleted in C++, and put me
on the right line in the editor where it is created.
- Include trees.
- Code completion.
- Automatic management of versions in different languages.
- Comparison with older versions of the code.
- Wizards to generate often used dialogs.
If you have never tried Java with Eclipse, C++ with C++Builder or
VisualStudio.Net 2003, or even Python with the less elaborate
Eric3+QtDesigner, then I suggest you do.
Of all the Widget sets I've used (MFC, VCL, wxWindows, TVision, Athena,
Qt) I consider Qt the easiest, it's even available for free on Windows
There is one danger in using IDE's to design GUI's, which is that you do
not properly separate your GUI code from the mechanics of the program.
I think that the natural way to design a GUI is with a WYSIWYG tool.
You have a valid point that you have to conform to the IDE generated
code to some extent. A good IDE will have a nonobtrusive way of handling
----------- Everything below here is Harry George's mail.
----------- No the e-mail program I am forced to use does not support
>>> <python-list-bounces+renting=(E-Mail Removed)> 06/28/05 9:15 PM
#! rnews 2994
news.xs4all.nl!newsspool.news.xs4all.nl!transit.ne ws.xs4all.nl!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!nntp.ab s.net!attws2!ip.att.net!NetNews1!xyzzy!nntp
From: Harry George <(E-Mail Removed)>
Subject: Re: Boss wants me to program
Content-Type: text/plain; charset=us-ascii
Message-ID: <(E-Mail Removed)>
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4
Sender: http://www.velocityreviews.com/forums/(E-Mail Removed)
Organization: The Boeing Company
References: <(E-Mail Removed). com>
<(E-Mail Removed) .com>
Date: Tue, 28 Jun 2005 18:58:08 GMT
Xref: news.xs4all.nl comp.lang.python:383798
phil <(E-Mail Removed)> writes:
> > You are quite correct to point out how much better it is to know
> > going on behind the scenes. But heck, once you know how to extract
> > roots - you need to let the computer do it!
> > GUI interfaces should be the same deal!
> > Thomas Bartkus
> I think I pretty much agree. I essentially code my own gui builder
> but in text files.
> I just think it is really important to emphasise the operative
> "but once you know how" in your comments.
> Then some would counter with "oh, so we should code everthing
> in assembler?" Ouch. No, I will admit there is judgement
> required. Everything should be done the easiest way, with the
> qualification that you need to understand how using someone
> else's shortcut leaves you vulnerable.
I agree with your comments on Python and java and IDEs. I'd like to
expand on the "code in assy" complaint.
Compiled-to-assy-to-machine-to-execution is understood and
algorithmic. Any one person may no know it al,l but every step of the
way has been thought out and optimized by someone who knew what he/she
was doing. There are very few places where anyone has to dive down
into assy, much less microcode or VLSI layouts.
Therefore, we can trust the abstract model provided by the programming
language, and can stay in that model.
This is not the case for GUIs. We can't safely stay in the abstract
GUI IDE. In fact, most require you to dive into the generated code to
finish the task. Bouncing up and down the abstraction ladder is hard
and made harder by being forced to live in the IDE's idea of generated
Given that, GUI IDEs are still helpful if your base langauge is a pain
to write and debug (e.g., C++, Java). But if your language is
actually easier to use than the GUI IDEs, then the equation shifts.
With Python, the clarity of thought and the opportunities for
higher-level programming (dynamic code genration et al) make GUI IDEs
just a waste of time or worse.
I also have moved to text-based inputs to my own GUI builders. Maybe
there is a sourceforge project waiting to be borne here