comp.lang.ada
 help / color / mirror / Atom feed
From: emery@goldfinger.mitre.org (David Emery)
Subject: Re: Air Force helping to undermine Ada
Date: Thu, 25 Mar 1993 15:23:22 GMT
Date: 1993-03-25T15:23:22+00:00	[thread overview]
Message-ID: <EMERY.93Mar25102322@goldfinger.mitre.org> (raw)
In-Reply-To: joshua@Veritas.COM's message of 24 Mar 93 18:21:47 GMT

>But that leads into the Real Problem (tm): there are almost no off the 
>shelf products written in ADA.  So if you want to take full advantage
>of a commercial product's API, you need to program in C, or some other
>common language.  It is not impossible to use ADA in these situations,
>but it is much harder than using C.  

Doing Ada bindings requires a certain level of skill, but after that,
there's generally no real problems with most commercial products.
Some "middleware" products (such as DCE) require assistance from the
compiler vendor, or intimate knowledge of both implementations to
prevent unwanted interference between the Ada RTS and DCE threads, for
instance.  

On the other hand, once you get a good Ada binding, my experience (8
years worth) is that the Ada binding is often much easier to use.  A
well-written Ada binding, using Ada strong typing, etc, catches many
errors at compile-time, and provides a much stronger error detecting
and recovery system at runtime.  For instance, we've been working with
XVT, a commercial GUI product.  The XVT C implementation does not
handle its errors very well.  For instance, it gets confused when you
try to locate a widget off the screen, or where the bottom-right
corner is above the top-left corner, etc.  By using Ada strong typing,
we detected several stupid mistakes at compile-time (e.g. type
mismatch when trying to add a vertical measurement to a horizontal
location), that would have caused a lot more work to detect, identify
and resolve at runtime (using debugging techniques).  (We have
experience using the XVT C binding, and so we know how painful it is
to run down runtime errors using XVT.)

The same is true of the POSIX bindings.  Several people (NOT Ada
people) have said that the POSIX/Ada binding is better written, easier
to understand, and easier to use, than the existing C binding.

				dave



  parent reply	other threads:[~1993-03-25 15:23 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-03-10 13:35 Air Force helping to undermine Ada Colin James 0621
1993-03-24 18:21 ` Joshua Levy
1993-03-25  4:54   ` Gregory Aharonian
1993-03-25 15:23   ` David Emery [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-03-14  0:08 Bob Munck
1993-03-15 15:47 ` Gregory Aharonian
1993-03-16 20:26 ` fred j mccall 575-3539
1993-03-08 22:50 Gregory Aharonian
1993-03-09 18:49 ` Kevin Miller
replies disabled

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