comp.lang.ada
 help / color / mirror / Atom feed
From: Markus E L <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de>
Subject: Re: GNAT for MS Visual Studio
Date: Fri, 28 Sep 2007 11:23:54 +0200
Date: 2007-09-28T11:23:54+02:00	[thread overview]
Message-ID: <4xsl4zw3bp.fsf@hod.lan.m-e-leypold.de> (raw)
In-Reply-To: TJSdncwgUrlA-2HbnZ2dnUVZ_ramnZ2d@comcast.com


"Steve" wrote:

> "Markus E L" <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de> 
> wrote in message news:ltfy11y10v.fsf@hod.lan.m-e-leypold.de...
>> Steve,
>>
>> I'd like to press my point: Have you ever seriously considered not
>> using a GUI builder but building a GUI "by hand", just instantiating
>> and inserting the widget where needed? It might seem tedious at the
>> beginning, but, in my experience doesn't make much more work in the
>> long run. Furthermore it provides opportunities too, because if highly
>> dynamic GUIs are required (e.g. Widgets being replaced or removed
>> dependent on the state of the program or editing process), GUI
>> builders can't provide that (whereas "manual instantiation" has no
>> problems), and there is also the opportunity to tweak layout,
>> alignment, colours and inserting modified custom widgets.
>>
>
> To me that's too much like asking the question:
>   Have you seriously considered not using a programming language and 
> compiler and just programming in machine code?

I thought so. Hence (a) my comment that you're caught in this
Microsoft mind set and (b) my attempt to make you reconsider: The
relationship between a Toolkit and a GUI builder, IMHO, is not
analogous to that between assembler and a ("high level") programming
language.

But, as I see it, at the moment there are few things to convince you
otherwise. So please understand my comments as comments, not as an
attempt to convince you.

>   When you have a visual tool for creating a user interface, you can do 
> things like restructure a window to meet new requirements with very little 
> effort.  In some cases you don't have to edit the code at all to bring about 

The thing that comes into my mind is, that (a) the requirements should
have been fixed much earlier and (b) restructuring is handled by
moving constructor calls.

Furthermore the very situation that is difficult to handle, that you
have integrated widgets into an abstraction (like "customer data
browser") cannot be handled with GUI builders at all and in this
situation it is improbable that you will move widgets over the
abstraction boundary.

So then w/o a GUI builder I'm only moving a call

   New_Cusomer_Browser(...)

to another place, with a GUI builder I haven't built an abstraction
from the very beginning.

That is perhaps the main point in my slightly jumbled commentary: GUI
builders don't allow you to build abstractions. Using GUI builders
doesn't scale and doesn't promote reuse (of GUI subsystems).

> a significant change in appearance.

If editing code is a pain for you, then you have a point. Only that I
personally, don't trust programmers that have a difficult relationship
to editing code -- it's their business. 

>   Yes I have built up windows the hard way.  I have done so using GWindows. 
> If you have a fairly static application, where the user interface changes 
> infrequently, it isn't a very big deal.  But if you have an application that 
> is revised frequently then if you don't have a visual tool for updating the 
> UI after a relatively short time the UI degrades to something that is 
> functional but just doesn't look good or is awkward to work with.


W/o knowing the details it's hard to say what went wrong. Of course
structuring GUIs so that they stay maintainable is an art on itself,
very much like structuring programs so that they stay maintainable
(the key is modularization).

With GUIs the GUI builders don't help you in the task. They just help
the GUI keeps looking nice. The business logic behind will get jumbled
anyway.

Furthermore: I'd be surprised if, even with a GUI build you could just
pick an element out of context and move it to some far away place.

That _only_ works, if you're having something that resembles paper
forms, which in turn IMHO hardly deserve the name GUI. But if you
e.g. have a browser for status records for network nodes, you'll
hardly ever move GUI elements from there into some other context,
since you need access to the network nodes status to show the widget
element.

Which gives me the idea that GUI builders tend to promote spaghetti
code in the underlying application.

>> GUI builders are fine if you're programming for paper-shufflers:
>> Everything is a "form" than, as it was in the time of paper forms.
>>
>> But interactive software needs to be smarter -- and that is what GUI
>> builders can't provide in my (admittedly limited and perhaps dated
>> experience). So if I end up anyway not being able to use the GUI
>> builder, I could as well learn how to use the tool kit in the language
>> proper.
>
> If the components that are placed on forms are dynamic, and there is 
> automatic interaction between the components on a form (like there is with 
> .NET) then things can be very dynamic.

If you define this as "dynamic", yes. I doubt really complicated stuff
can be specified by interacting with the mouse.


> Most of the applications I work on have to do with sawmill automation. 
> Scanning logs at various stages of processing and optimizing the breakdown 
> decisions and process.  The application requires a lot of configuration to 
> describe the machinery, the products being produced, and rules on how to cut 
> things.  There are dozens of dialogs in the system.  

Dialogs. Complicated, sequential forms. No direct inteaction
interface. There you are.

> Trying to maintain these using hand coded windows is just plain
> silly.  Parts of the system are very dynamic... displaying 3d images
> of material being processed, diagnostic information, etc.

This is not what I call dynamic.

BTW: Nobody asked you to maintain your system "using hand coded
windows". If you don't want and have a GUI builder, please don't. But
you asked for a GUI builder that isn't there, implicating live is to
complicated w/o one. I still doubt it is.


Regards -- Markus



  reply	other threads:[~2007-09-28  9:23 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-06  2:20 GNAT for MS Visual Studio William J Thomas
2007-09-06  7:44 ` anon
2007-09-06  8:49   ` Rob Veenker
2007-09-06 11:12     ` William J Thomas
2007-09-11  3:15 ` Jeffrey Creem
2007-09-20  0:00 ` William J Thomas
2007-09-21  0:46   ` Randy Brukardt
2007-09-21  3:27     ` William J Thomas
2007-09-21 17:31       ` Markus E L
2007-09-21 18:13       ` Dmitry A. Kazakov
2007-09-22  1:42         ` Randy Brukardt
2007-09-22  1:59       ` Randy Brukardt
2007-09-22  5:19         ` Simon Wright
2007-09-22 14:42         ` Steve
2007-09-24  8:14           ` Jean-Pierre Rosen
2007-09-25  1:44             ` Steve
2007-09-25  6:41               ` Jean-Pierre Rosen
2007-09-25  8:29               ` Michael Bode
2007-09-25 18:00                 ` Jeffrey R. Carter
2007-09-25 18:31                   ` Michael Bode
2007-09-25 11:20               ` Markus E L
2007-09-26  2:23                 ` Steve
2007-09-26 12:21                   ` Markus E L
2007-09-28  0:49                     ` Randy Brukardt
2007-09-28  2:43                     ` Steve
2007-09-28  9:36                       ` Markus E L
2007-09-29 15:59                         ` Michael Bode
2007-09-29 16:50                           ` Markus E L
2007-09-26  6:58                 ` Ole-Hjalmar Kristensen
2007-09-26 13:35                   ` Steve
2007-09-26 14:06                     ` Markus E L
2007-09-27 18:26                       ` Michael Bode
2007-09-27 20:18                         ` Markus E L
2007-09-28  6:45                         ` Jean-Pierre Rosen
2007-09-29  9:18                           ` michael bode
2007-09-28  2:29                       ` Steve
2007-09-28  9:23                         ` Markus E L [this message]
2007-09-30 14:50                           ` Steve
2007-10-02  3:50                             ` Randy Brukardt
2007-10-02 11:06                               ` Peter C. Chapin
2007-10-02 20:38                               ` Maciej Sobczak
2007-10-02 20:45                                 ` Pascal Obry
2007-10-03 19:23                                   ` Maciej Sobczak
2007-10-03 19:40                                     ` Pascal Obry
2007-10-03 20:08                                       ` Maciej Sobczak
2007-10-04 20:18                                         ` Maciej Sobczak
2007-10-04 20:21                                           ` Pascal Obry
2007-10-05 13:25                                             ` Maciej Sobczak
2007-10-06 10:50                                               ` concurrent access to containers (was: GNAT for MS Visual Studio) Georg Bauhaus
2007-10-05 20:15                                         ` GNAT for MS Visual Studio Simon Wright
2007-10-06 14:47                                       ` Matthew Heaney
2007-10-06 15:03                                         ` Pascal Obry
2007-10-06 16:03                                           ` Dmitry A. Kazakov
2007-10-06 17:07                                             ` Pascal Obry
2007-10-06 18:30                                               ` Dmitry A. Kazakov
2007-10-06 20:32                                                 ` Maciej Sobczak
2007-10-07  7:35                                                   ` Dmitry A. Kazakov
2007-10-07 21:30                                                     ` Maciej Sobczak
2007-10-08  7:50                                                       ` Dmitry A. Kazakov
2007-10-08 10:32                                                         ` Maciej Sobczak
2007-10-08 13:39                                                           ` Maciej Sobczak
2007-10-08 15:10                                                           ` Dmitry A. Kazakov
2007-10-08 20:40                                                             ` Maciej Sobczak
2007-10-09  8:32                                                               ` Dmitry A. Kazakov
2007-10-06 16:17                                           ` Matthew Heaney
2007-10-07  3:19                                           ` Randy Brukardt
2007-10-07  7:21                                             ` Pascal Obry
2007-10-07  7:49                                               ` Dmitry A. Kazakov
2007-10-07 16:41                                               ` Georg Bauhaus
2007-10-07 17:44                                               ` Simon Wright
2007-10-08  9:52                                                 ` Georg Bauhaus
2007-10-08 10:42                                                   ` Maciej Sobczak
2007-10-08 10:59                                                     ` Georg Bauhaus
2007-10-08 11:07                                                     ` Georg Bauhaus
2007-10-08 18:44                                                     ` Pascal Obry
2007-10-08 15:21                                                   ` Dmitry A. Kazakov
2007-10-08 18:28                                                 ` Pascal Obry
2007-10-07 21:48                                               ` Maciej Sobczak
2007-10-07 22:27                                                 ` Jeffrey R. Carter
2007-10-08 21:10                                                   ` Simon Wright
2007-10-09  1:53                                               ` Randy Brukardt
2007-10-09 21:01                                                 ` Simon Wright
2007-10-09 22:48                                                   ` Randy Brukardt
2007-10-10  0:21                                                     ` Jeffrey R. Carter
2007-10-10  4:57                                                   ` Simon Wright
2007-10-10  7:46                                                   ` Dmitry A. Kazakov
2007-10-03  5:20                                 ` Licensing again (was Re: GNAT for MS Visual Studio) Simon Wright
2007-10-03  2:03                               ` GNAT for MS Visual Studio Steve
2007-09-28 14:48                         ` Ed Falis
2007-09-29  2:32                           ` Steve
2007-09-29  6:53                             ` Vadim Godunko
2007-09-26 14:08                     ` Dmitry A. Kazakov
2007-09-25  2:39             ` Randy Brukardt
2007-09-25  8:40               ` Michael Bode
2007-09-25 11:28               ` Markus E L
2007-09-26 10:19               ` Pascal Obry
2007-09-26 13:00                 ` Michael Bode
2007-09-25  2:32           ` Randy Brukardt
2007-09-25  8:27             ` Stephen Leake
  -- strict thread matches above, loose matches on Subject: below --
2007-10-12 22:03 Anatoly Chernyshev
2007-10-13 20:25 ` Maciej Sobczak
2007-10-14 10:37   ` Simon Wright
2007-10-14 11:26     ` Markus E L
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox