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 now! 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 this. ----------- Everything below here is Harry George's mail. ---------------------------------------------- ----------- No the e-mail program I am forced to use does not support quoting. ----------------- >>> <[EMAIL PROTECTED]> 06/28/05 9:15 PM >>> #! rnews 2994 Newsgroups: comp.lang.python Path: news.xs4all.nl!newsspool.news.xs4all.nl!transit.news.xs4all.nl!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!nntp.abs.net!attws2!ip.att.net!NetNews1!xyzzy!nntp From: Harry George <[EMAIL PROTECTED]> Subject: Re: Boss wants me to program X-Nntp-Posting-Host: cola2.ca.boeing.com Content-Type: text/plain; charset=us-ascii Message-ID: <[EMAIL PROTECTED]> User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 Lines: 57 Sender: [EMAIL PROTECTED] Organization: The Boeing Company References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Mime-Version: 1.0 Date: Tue, 28 Jun 2005 18:58:08 GMT Xref: news.xs4all.nl comp.lang.python:383798 phil <[EMAIL PROTECTED]> writes: > > > > You are quite correct to point out how much better it is to know what is > > going on behind the scenes. But heck, once you know how to extract square > > 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 code. 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 :-) [snip] -- [EMAIL PROTECTED] 6-6M21 BCA CompArch Design Engineering Phone: (425) 294-4718 -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list