TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
David Botton <[log in to unmask]>
Reply To:
Tue, 11 Apr 2000 23:03:19 -0700
text/plain (230 lines)
--- "Kester, Rush W." <[log in to unmask]> wrote:
> Richard,

> I know this is an old thread, but "The times they
> are a changing."  IMHO,
> for the better.

Yes they are, there have been some very significant
(not just in what they do, but that they are open
source also!) advances in the last year for Ada.
GNATCOM (Ada COM tools, see CLA announcement), JGNAT,
GtkAda, Rapid 2.0, and Cafe 1815
( to name a few that
open the doors wide for new forms of rapid GUI
development with Ada.

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

That is not neccesarily a selling point and in fact as
you pointed out, the big benefit of VB is that it is
Win32 specific and takes advantage of Win32's GUI such
as common controls (tools bars, spinners, calendards,
trees, etc.), common dialogs (open/save, print, etc.),
drag & drop, Web browser, databases, etc. (BTW, I have
been working on an open source Win32 framework coupled
with my COM/ActiveX work that I hope to release as a
prototype in the next month or two that offers Ada the
same rapid development advantages on Win32 including
database access via controls hooked in to ADO)

Cross platform always means giving up something and
that is often not an option for professional

>  It works with
> Win32 and any platform
> that support Windows X11.

There are some glitches on the Win32 side and
applications written with it seriously lack the feel
of a real Win 32 application. It is not realy a
solution on Win32 today.

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

They are the "Key" to getting Ada on the desktop of
the future.

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

It should be, but for desktop PCs, it isn't. But
slowly things are changing, and perhaps some day every
one will have FreeBSD on their desktops :-)

> Why not devote our considerable talents and energy
> to making Ada's component
> set into something well engineered to meet future
> software needs.

Bravo, I must say it is very disheartening to see
Richard Conn endorsing VB and praising its virtues on
Team-"Ada". Particulary when the gap is not as large
between VB and Ada as it once was for rapid
development and there are certainly commercial tools
priced less then VB (like CLAW and its builder) that
accomplish much of what he is looking for.

I also find it interesting that Richar Conn chose to
push an MS tool that is thousands of light years
BEHIND Delphi or C++ builder. It may be interesting to
note the MS has dumped money in to the ASE project
making VB readily available, perhaps RR software
should send him a demo copy of their product.

I hope to be giving a tutorial at SigAda 2000 on new
developments in rapid GUI development on Win32 in
addition to one on COM with Ada. If it works out, I
plan on demonstrating ways of doing GUI programming
with Ada on Win32 that takes little work and produces
results as good as, or superior to VB.

Since you quoted the original, I am compelled to

> > -----Original Message-----
> > From: Richard L. Conn

> > Component-based Software Engineering.  That's
> where I
> > see VB fitting in like a glove, and that's were I
> see
> > Ada lacking.

GNATCOM for Ada does it better, much better.

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

All available to Ada and with a finer grain of
control. There are frameworks that take advantage of
these features on Ada already.

VB's builder (lacking in comparison to Delphi) does
make it easier to get up and running, but for large
projects it falls short quickly. There are builders
for Ada now, and bigger and better are just over the

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

Having written "professional" code on Win32 (including
code in VB :-(, VB is not a serious option for
"massive" or even medium size applications. It works
well for IT shops in corporate to get small things
done and for more or less "scripting" type of

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

Easily done using GNATCOM and with a far greater
degree of control.

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

Once you have worked on some one else VB code or try
to push the edges of VB even a little, you will think

If you try to do anything professional in VB you will
quickly find that you can crash (and I mean crash
hard) VB programs with ease if for no other reason
then "you don't have to worry about the low-level
details". Of course if you try to do anything fancy
with VB, you will have to figure out those details
that are being hidden from you. I recommend reading
Hard Core Visual Basic to get a start in the direction
of how to make VB lean towards something professional.

> > Ada was a significant step in the right direction,
> but
> > VB is a much bigger step.

Delphi is bigger, yet they both have language
limitations that make Ada a clear choice for larger

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

Not realy, much is already there and much more is on
the way. Of course help is always appreciated, hint,

David Botton

Do You Yahoo!?
Send online invitations with Yahoo! Invites.