comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <robert_dewar@my-deja.com>
Subject: Re: THAAD Study on Ada Viability
Date: Thu, 14 Dec 2000 12:53:48 GMT
Date: 2000-12-14T12:53:48+00:00	[thread overview]
Message-ID: <91afsr$kdf$1@nnrp1.deja.com> (raw)
In-Reply-To: 90nq6h$3l9$1@nnrp1.deja.com

In article <90nq6h$3l9$1@nnrp1.deja.com>,
  n_brunot@my-deja.com wrote:

> Today, NO Ada 95 compiler can fully replace our 5
> year old Ada83 compiler without severe regression.
> This is a fact ... and so compiler availability is
> a real concern.

Well it *might* be a fact, but I doubt you have
the data to support the claim. For example, you
certainly are not a customer of ACT or ACTE, so
your statement certainly does not include GNAT
Professional. Perhaps you are a customer of
OCS, Rational, Greenhills, Aonix, Irvine, DDC/I,
... (sorry if I forgot any), and can thus make a
fully informed statement for other compilers, but I
doubt it :-)

One thing that tends to happen with large legacy
codes is that they have been kicked, tuned, pushed,
and generally molested over the years to work well
with some legacy compiler and to circumnavigate bugs
in the old compiler. Then when you port to
ANY other compiler, you find five things:

1. Errors in the program that were not apparent in
the earlier use -- a very common case for example is
missing pragma Elaborate statements.

2. Implementation dependent stuff that happened to
work in some older compiler and works no longer.

3. Stuff that works only because of bugs in the old
compiler which are corrected in the new compiler.

4. Performance issues. Sometimes these are indeed
significant differences in performance. Other times
they simply reflect the fact that code has been tuned
to meet the particular behavior of another compiler.
One really nasty case we had of performance
degradation turned out to be a program which read the
value of an environment variable in the inner
computational loop of the program -- it read the same
variable over and over again -- and apparently VADS
cached the result so this rather peculiar programming
decision did not have much impact. When we moved the
read out of the loop, all was well again.

5. Finally you may indeed run into some problems and
bugs in the new technology. How much of a problem
that is will depend on how easy it is to work around
these problems, and how easily problems that cannot
be worked around can be fixed. That is of course a
function of the support you get from your vendor.

Certainly there are no bug free Ada 83 compilers.
Even DEC Ada, which I think most people would
consider to be one of the best Ada 83 compilers has
many bugs (we found quite a few serious ones as we
ported GNAT to VMS -- for example, there were some
tests in the DEC test suite that we failed because
the test was expecting the wrong thing :-)

Milage may vary of course, but our general experience
is that in porting large legacy codes at this stage
with GNAT Professional, although we certainly get
some cases of 5 (bugs in GNAT), they are usually
relatively easily dealt with, and the more serious
problems in moving to GNAT are in categories 1 and 2.
(elaboration problems are often very annoying, and
are almost entirely a matter of incorrect code that
happened to work before). Certainly there are some
cases where performance problems and other bugs are
significant and require work, but in most cases, this
is not the most significant porting issue
(although this presumes support from
us, and it is not so much of a surprise that Nicolas
Brunot runs into more troubles trying to do serious
work with the public version of GNAT).

Robert Dewar
Ada Core Technologies


Sent via Deja.com
http://www.deja.com/



      parent reply	other threads:[~2000-12-14 12:53 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <NBBBJNOMKDIAJALCEFIJCELGEAAA.rleif@rleif.com>
     [not found] ` <90lj4s$8h7$1@nnrp1.deja.com>
     [not found]   ` <wQCX5.1696$bw.107780@news.flash.net>
2000-12-13 22:41     ` THAAD Study on Ada Viability Singlespeeder
2000-12-13 23:43       ` Ken Garlington
2000-12-14 12:33         ` Robert Dewar
2000-12-15  2:45           ` DuckE
2000-12-15  2:46             ` DuckE
2000-12-18 19:31               ` Robert L. Spooner
2000-12-19 16:05                 ` Robert Dewar
2000-12-19 18:01                   ` Larry Kilgallen
2000-12-16 18:50             ` Robert Deininger
2000-12-14 14:32         ` Marin David Condic
2000-12-15 16:44           ` David Gillon
2000-12-13 23:52       ` David Botton
2000-12-14 12:31       ` Robert Dewar
2000-12-14 14:35         ` John English
2000-12-14 15:05           ` Marin David Condic
2000-12-14 14:36         ` Ken Garlington
2000-12-15 10:05           ` Tarjei T. Jensen
2000-12-15 13:24             ` Marin David Condic
2000-12-15 14:19               ` Ken Garlington
2000-12-15 17:14                 ` Marin David Condic
     [not found]   ` <3A2F612B.D82B76A5@BMW.de>
     [not found]     ` <90nq6h$3l9$1@nnrp1.deja.com>
2000-12-14 12:53       ` Robert Dewar [this message]
replies disabled

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