Re:

Discussion in 'Python' started by Adriaan Renting, Jun 30, 2005.

  1. 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. -----------------
    >>> <python-list-bounces+renting=> 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 <>
    Subject: Re: Boss wants me to program
    X-Nntp-Posting-Host: cola2.ca.boeing.com
    Content-Type: text/plain; charset=us-ascii
    Message-ID: <>
    User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4
    Lines: 57
    Sender:
    Organization: The Boeing Company
    References: <>
    <>
    <>
    <>
    <>
    Mime-Version: 1.0
    Date: Tue, 28 Jun 2005 18:58:08 GMT
    Xref: news.xs4all.nl comp.lang.python:383798

    phil <> 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]

    --

    6-6M21 BCA CompArch Design Engineering
    Phone: (425) 294-4718
    --
    http://mail.python.org/mailman/listinfo/python-list
    Adriaan Renting, Jun 30, 2005
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page