comp.lang.ada
 help / color / mirror / Atom feed
From: "Steve" <nospam_steved94@comcast.net>
Subject: Re: GNAT for MS Visual Studio
Date: Sun, 30 Sep 2007 07:50:41 -0700
Date: 2007-09-30T07:50:41-07:00	[thread overview]
Message-ID: <YcCdnaCp_dEWKmLbnZ2dnUVZ_qqgnZ2d@comcast.com> (raw)
In-Reply-To: 4xsl4zw3bp.fsf@hod.lan.m-e-leypold.de

"Markus E L" <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de> 
wrote in message news:4xsl4zw3bp.fsf@hod.lan.m-e-leypold.de...
>
> "Steve" wrote:
>>
>> 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.
>

BTW: I mentioned to my co-workers that I had been described as being 
pro-Microsoft.  They laughed out loud.  You certainly have the wrong idea.

IMNSHO the tools and techniques for software design and development continue 
to change over time.  It is important be aware of and keep an open mind 
about new methods as they appear.  Not doing so will render you obsolete.

Every time the next great tool comes out, I take note.  First I don't spend 
much time learning the details, since many of these great revelations fade 
after a short period of time.  But after the tool has been out for a while I 
investigate it on my own, ignoring they hype, and make my own judgement as 
to whether or not the tools is really a good thing.

This is how I came to appreciate Ada, and this is how I came to appreciate 
visual GUI development tools.

> 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.

That works well for software requirements that are static, and don't evolve 
over time.

> 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).

With the .NET framework you can create a base form and derive other forms 
from the base form.  If that doesn't promote re-use, I don't know what does.

> 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.
>

My business isn't editing code.  My business is producing and maintaining 
applications in the most cost effective way possible.  Sure programmers can 
create code for maintaining GUI's with code.  They can also write their own 
databases and code in machine code.

But usually the most cost effective way to develop things is to take 
advantage of high level tools that do much of the job for you.

With a decent GUI development tool I can generate most of the code required 
to maintain the GUI automatically.  Doing so by hand is ceratainly possible, 
but it is much less productive.  If the tool doesn't sigificantly reduce the 
amount of effort do generate the UI... don't use it!  It's not a good tool. 
If the tool does significantly reduce the amount of effort to generate the 
UI, you don't use it, and you're in a competetive environment, you won't 
continue to compete for long.

> 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).
>

If the effort to develop a GUI interface takes days, weeks, or months. 
Careful design is critical.  The resources invested in development are 
significant, and it is important to get it right the first time.

If the effor to develop the GUI part of the interface takes minutes, careful 
design OF THE GUI is less critical.  The design of the business part of the 
application is still critical, but since changing the GUI is trivial it 
becomes less importaint to get it right the first time.

In my experience there have been may occasions where conventional wisdom has 
been to present information a particular manner.  Then for some unforseen 
reason a different view of the same information that is much more intuitive 
comes to light.  If the GUI is independent of the business part of the 
application it isn't a big deal and it is tivial to adapt.  If the GUI is 
closely tied to the business part of the application your hands may be tied.

> 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.
>

In my experience the GUI builders do most, but not all of the work for you. 
You still have to write code for the pieces that tie things together.  With 
a good GUI builder, more than 90% of the GUI code will be generated 
automatically.

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

Spaghetti code can be generated equally well by either technique.

>>> 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.
>

You may still have to do a little coding to handle the dynamic parts.  But 
just because you have to write 50 lines of code by hand, doesn't mean you 
can't have the other 500 generated automatically.

>> 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.
>

A pretty quick judgment for never having seen our application.

>> 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.

Describe just what you conder to be 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.

The viewpoint you are presenting reminds me of a paper that circulated on 
the Internet many many moons ago.  It was entitled something like "Real 
Programmers Don't use Pascal".  IIRC it said something like: Real 
programmers don't use Pascal, they use FORTRAN.  If it can't be programmed 
in FORTRAN they use machine code.  If it can't be programmed in machine 
code, it isn't worth doing.

In my programmers Utopia, a GUI Ada tool would magically appear.  People 
(like me) who constantly experiment with different development tools would 
try it and discover the wonders of Ada.  The market share of Ada would grow, 
Ada vendord would thrive, and Ada would gain mainstream acceptance.

Regards,
Steve
(The Duck)

>
>
> Regards -- Markus 





  reply	other threads:[~2007-09-30 14:50 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
2007-09-30 14:50                           ` Steve [this message]
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