comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@gnat.com
Subject: Re: Ada-G, was Re: Streams and Concurrency
Date: 1999/01/01
Date: 1999-01-01T00:00:00+00:00	[thread overview]
Message-ID: <76hqhk$56h$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 368bdf3c.3097724@news.pacbell.net

In article <368bdf3c.3097724@news.pacbell.net>,
  tmoran@bix.com (Tom Moran) wrote:
> As a person who spends a fair amount of time testing
> portability of new code, and working around the bugs and
> limitations of 5 different "Ada 95" compilers, I'd
> suggest that anyone thinking of locking themselves into a
> vendor-specific "special variations of existing
> languages" look very carefully before they leap.


That of course is good advice. It is worth emphasizing that
the particular case here was a matter of a large customer
insisting that

(a) they absolutely needed this feature
(b) all versions of GNAT seemed to work the way they
    expected.
(c) they would not be able to use any version of GNAT that
    did not work that way.

Most certainly, they realized that they were committing
themselves to compilers that worked this way, but they
took the position that any compiler not working this way
was broken and would not be acceptable for use.

Tom is in the business of writing portable library code
whose value depends on its being able to run with many
different Ada compilers, and there of course, portability
is paramount.

However, many real world projects are in fact pretty much
committed to a single compiler, and even those that don't
think they are often are. Indeed, consider this case, the
user in question might never have even realized they were
doing something that was not legitimate if we had not
pointed it out. A lot of code depends on erroneous or
implementation dependent constructs without realizing it.

Actually one of the most significant cases of dependence
on particular compilers arises with the use of specialized
library packages. Certainly it is a good thing for
compilers to provide useful stuff, but it can be a trap if
portability turns out to be important. Note that this is
particularly the case if the specs of the routines in
question are protected by copyright.

Robert Dewar
Ada Core Technologies

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




  reply	other threads:[~1999-01-01  0:00 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-12-30  0:00 Streams and Concurrency James S. Rogers
1998-12-29  0:00 ` David Botton
1998-12-30  0:00   ` dennison
1998-12-30  0:00     ` Tucker Taft
1998-12-30  0:00       ` dennison
1998-12-31  0:00         ` robert_dewar
1998-12-30  0:00       ` Robert I. Eachus
1998-12-30  0:00         ` Tucker Taft
1998-12-31  0:00         ` dennison
1998-12-31  0:00           ` robert_dewar
1998-12-31  0:00             ` dennison
1999-01-01  0:00               ` robert_dewar
1999-01-04  0:00           ` Robert I. Eachus
1998-12-30  0:00   ` James S. Rogers
1998-12-30  0:00     ` dennison
1998-12-30  0:00       ` James S. Rogers
1999-01-04  0:00       ` Robert I. Eachus
1998-12-31  0:00     ` Jean-Pierre Rosen
1998-12-31  0:00       ` dewar
1998-12-31  0:00         ` dennison
1999-01-04  0:00         ` Jean-Pierre Rosen
1999-01-04  0:00           ` robert_dewar
1998-12-31  0:00       ` dewar
1998-12-31  0:00         ` Ada-G, was " Tom Moran
1999-01-01  0:00           ` dewar [this message]
1999-01-01  0:00             ` Larry Kilgallen
1999-01-01  0:00           ` Brian Rogoff
1999-01-04  0:00             ` Robert I. Eachus
1999-01-08  0:00               ` Mats Weber
1999-01-08  0:00                 ` Robert I. Eachus
1999-01-08  0:00         ` Mats Weber
1999-01-08  0:00           ` Tucker Taft
1998-12-30  0:00 ` dennison
1998-12-30  0:00   ` Robert I. Eachus
1999-01-11  0:00   ` Bulk synchronous model for IO (was Re: Streams and Concurrency) Kevin Rigotti
replies disabled

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