Hello, Rush,

Thank you for your message.  It's nice to keep an open discussion going
about the issues that face us and to see different perspectives.  I often
think of our industry as an elephant that we, acting as blind people,
are trying to describe and deal with.  Each of us sees a different part
of the beast, and none of us has the whole picture.  That said, responses
are interwoven below.

Rick
==============
Richard Conn
Principal Investigator, Reuse Tapestry
http://xenadu.home.mindspring.com/

-----Original Message-----
From: Kester, Rush W. [mailto:[log in to unmask]]
Sent: Tuesday, April 11, 2000 2:31 PM
To: 'Richard L. Conn'; [log in to unmask]
Subject: Rapid application development VB vs Ada (was RE: What the
competition looks like


Richard,

I know this is an old thread, but "The times they are a changing."  IMHO,
for the better.
RLC> Absolutely.  Our industry changes with amazing speed in multiple
RLC> directions simultaneously.  Common threads, such as a desire for
RLC> improved software reliability, are emerging.

GtkAda now provides the GUI widgets you are seeking and the available widget
set is growing rapidly.  What's important is that unlike VB, they are
portable to non-Microsoft platforms.  It works with Win32 and any platform
that support Windows X11. This means that the applications developed on
Wintel platforms can run on Linux, Unix, & MS Windows, etc.  For more
information see, http://gtkada.eu.org/
RLC> This is a good thing.  Depending on who you talk to, Microsoft Windows
RLC> accounts for 90-95% of all the computers in the world, so this approach
RLC> extends to cover the remaining 5-10%.  That's probably millions of
RLC> computers.  I saw a statistic the other day that the average American
RLC> is supported by 265 computers in a single day (how they came up with
RLC> THAT number, I have no idea ;-).  However, I am not seeking GUI Widgets
RLC> any more ... I found what I was looking for in Visual Basic and the web
RLC> technologies.  The applications I'm working on that need GUI interfaces
RLC> are satisfied well by these two technologies and I'm not compelled to
RLC> change at this time.  My customers are happy with my choices and the
RLC> results of my work.

I agree with your point on the importance of domain analysis.  I can't argue
whether or not VB is well engineered.  It's advantage is its close tie with
Microsoft and Intel PC's.
But this is also its disadvangage.
RLC> Very seldom is a double-edged sword not present.  There are advantages
RLC> and disadvantages to every such choice we make.

The AdaSage effort developed a similar component set with high-level
abstractions for application development.  Unfortunately, AdaSage was taken
over by those who saw only its profit potential and decided to keep it as
proprietary rather than manage its growth in an  Open Source environment.
From what I can tell, it died as a result.
RLC> In preparing the next Ada and Software Engineering Update, I checked
RLC> into the current status of AdaSAGE, and one of the Ada references on
RLC> the update points to their website.  From my inspection, I concluded
RLC> that it appears to be alive and still growing.  I noted fairly recent
RLC> updates to it.  I can't speak about the politics behind it.

As you well know, there are many Ada component sets out there.  What is
lacking is a group in the Ada community to organize and integrate them into
a powerful component based architecture.  I agree that four of your five
domains: GUI development, data manipulation,
OS-based device control, and communications in general (and web in
particular) have great potential.  I also agree that because of its
widespread use, the MS Windows OS cannot be ignored, but the world of
students and the software industry should be broader than Microsoft.
RLC> We are in complete agreement here.

Why not devote our considerable talents and energy to making Ada's component
set into something well engineered to meet future software needs.
RLC> Our talents are fairly rare and valued by many.  They should be applied
RLC> where there is the greatest potential for Return on Investment (ROI).
RLC> Of course, it would be nice to define what ROI means in a measurable
RLC> sense so that we know if we are improving it ;-)

You cited PITAC as being a perfect match with Visual Basic.  I'm not sure I
agree with this conclusion.  Per,
http://www.whitehouse.gov/WH/EOP/OSTP/html/presstest/19980810_2.html the
first research goal of the "President's Information Technology Advisory
Committee" (PITAC) is:  "Research on software, with special emphasis on
design and production techniques and enhancing software reliability."  IMO,
this is an area where Ada systems standout as good examples, and Microsoft
systems poor ones.  The executive summary of the PITAC's Interim Report
http://www.ccic.gov/ac/interim/ states, "We have become dangerously
dependent on large software systems whose behavior is not well understood
and which often fail in unpredicted ways."  IMO, This is symptomatic of
proprietary systems like Microsoft's and less so of Open Systems where user
organizations can go to the source to determine how/why the software will
behave.
RLC> First of all, I never said PITAC was a "perfect" match ... just that
RLC> VB was addressing it.  No solutions to these problems exist yet.
RLC> I think your brush strokes are too broad on this one and don't prove
RLC> the point you are trying to prove.  All of us, including Microsoft,
RLC> want to enhance software reliability.  The $160,000,000 Reliability
RLC> Initiative part of the $2B Windows 2000 development effort indicates
RLC> in some ways Microsoft's concern in this area.  Reliability comes
RLC> from effective systems engineering followed by effective software
RLC> engineering backed by a serious commitment by the entire development
team
RLC> to developing a quality product.  Different languages, such as Ada,
RLC> Java, and Visual Basic help in different ways and similar ways, but
RLC> are no replacement for the culture of the development team.  Going
RLC> Open does not solve the problem by itself ... years ago, I installed
RLC> X11R4 on a Sun using the source code, noting the hundreds of known
RLC> defects reported therein.  Going proprietary does not solve the
RLC> problem either ... Brooks spoke of IBM's knowledge of 1,000 documented
RLC> defects in their OS/360 source code and their decision to not try to
RLC> correct those defects for fear they would introduce worse defects in
RLC> the process, and we all have experienced Microsoft Windows crashes.
RLC> Open communities are trying to fix things, as are IBM and Microsoft.
RLC> I think the problems in the PITAC's Interim Report are more symptomatic
RLC> of a lack of emphasis by all development team members on quality
RLC> and our general lack of understanding of how to create complex
RLC> systems.  But we are changing, learning, and growing, and the pace
RLC> is phenomenal.

Rush Kester
Software Systems Engineer
AdaSoft at Johns Hopkins Applied Physics Lab.
email:  [log in to unmask]
phone: (240) 228-3030 (live M-F 9:30am-4:30pm, voicemail anytime)
fax:   (240) 228-6779
http://hometown.aol.com/rwkester/myhomepage/index.html

RLC> Rick Conn (see my URL below for access info)
> -----Original Message-----
> From: Richard L. Conn [mailto:[log in to unmask]]
> Sent: Thursday, December 02, 1999 1:36 PM
> To: [log in to unmask]
> Subject: Re: What the competition looks like
>
<snip>

> I haven't seen any arguments to convince me that VB
> is not right for this climate or the need to make
> learning fun is not justified.  Both work effectively.
>
> The PITAC report I spoke of the other day speaks of
> Component-based Software Engineering.  That's where I
> see VB fitting in like a glove, and that's were I see
> Ada lacking.  The VB GUI is not just buttons and text
> boxes (THAT was the first day).  It is also dynamic
> list boxes (a form of linked list without the pointers),
> drive list boxes and directory list boxes and file list
> boxes which combine to allow you to navigate a file
> system without programming any system calls, the chart
> control which allows you to configure and draw 16 kinds
> of charts (bar, XY, line, area, pie, both 2D and 3D, etc)
> without worrying about manipulating pixels, the common
> dialog control which allows for 6 common program needs
> (open a file, save/create a file, select a printer,
> select a font, select a color, and invoke online help)
> with almost no effort, and so on.  The standard packages
> in Ada95 are very good, but no where near this level of
> abstraction.  Assuming the components are reliable
> (which they seem to be), you can put together massive
> applications with very few lines of code.  They work the
> first time (in my experience) and you are done and ready
> to move on.  The Web Browser I wrote in 1 hour on a
> Sunday morning was part of what made me trigger my first
> message.
>
> The domain engineering which went into VB really shows.
> We see the five target domains clearly: Windows OS
> interfacing, GUI development, data manipulation,
> OS-based device control, and communications in general
> (and web in particular).  The VB controls operate at such a high
> level of abstraction that you don't have to worry about
> the low-level details and can concentrate on the problem.
> Ada was a significant step in the right direction, but
> VB is a much bigger step.  Ada could be there as well
> (there's no technical reason why these highly abstract
> component features cannot be added), but the cost of
> such an effort would be really significant.
>
> Component-based SE is a PITAC goal for the future.
>
> Well, that's the last 21 message responses in a nutshell.
>
> Another opinion,
> Rick
> ----------------------------------
> Richard Conn, ASE and PAL Manager
> http://xenadu.home.mindspring.com/