From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=BAYES_00,INVALID_MSGID, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4f36545ebe2d5763 X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: ObjectAda and Feb 29th Date: 2000/03/09 Message-ID: <8a7vtl$8u4$1@nnrp1.deja.com>#1/1 X-Deja-AN: 595105238 References: <368601769wnr@natron.demon.co.uk> <89j9vq$lvp$1@nnrp1.deja.com> <38c463df@eeyore.callnetuk.com> <8a6f1u$5l3$1@nnrp1.deja.com> X-Http-Proxy: 1.0 x28.deja.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja.com - Before you buy. X-Article-Creation-Date: Thu Mar 09 10:54:46 2000 GMT X-MyDeja-Info: XMYDJUIDrobert_dewar Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.61 [en] (OS/2; I) Date: 2000-03-09T00:00:00+00:00 List-Id: In article , Hyman Rosen wrote: reasonable :-) > > Are many ANSI/ISO standards unstable? Anyway, since you > frequently point out that GNAT is the only Ada compiler which > implements all of the Annexes of the Ada standard, I could > equally well conclude that the Ada standard has not stabilized > either. There are two ways in which the rather ill defined term "unstable" might be used wrt a standard: 1. Sections of the standard are not widely implemented, and thus have not really been tested well, and are subject to change in the future as a result. 2. Sections of the standard were simply not in very good shape at the time the standard was approved, and are known to be defective. The numerics in C++ is in my view (and the view is shared by others) in category 2. I really know of nothing in the Ada 95 RM that is in category 2 at all. As for category 1, it is true that some of the annexes are implemented only by GNAT, but (a) this means they are implemented pretty widely, GNAT is available fully supported on 25 different configurations, and there are several more volunteer ports around, so this to me means that these sections are widely implemented. The fact that there are other vendors who provide subset implementations that do not include these annexes does not really contradict this. (b) in any case, I don't think an argument can be made that this supposed lack of implementation will result in future instability (i.e. incompatible changes), since in fact the wide implementation on GNAT has given considerable opportunity to experiment with and use these annexes. (c) The annexes are in any case an ancillary non-required part of the language, and thus even if there are instabilities there, the fact that the central core of the language is stable is significant (and not comparable with the C++ situation). Often a contrast is made between languages where a) the standard is developed in advance, and then compilers appear b) compilers are developed in parallel or before the standard, so the standard reflects existing implementation experience. Interestingly people often think of Ada being in the first category, and C++ being in the second, but it is *EXACTLY* the opposite way round. In the case of both Ada 83 and (even more so) Ada 95, Ada compilers were being developed at the same time as the standard, and fully compliant compilers appeared very shortly after the standard was available. This implementation experience was very definitely fed into the developing standard. In the case of C++, the standard was developed before compilers implemented many important features (such as exceptions, the STL, namespace's etc). I think it is still the case that many (most? all?) C++ compilers fail to implement the entire ISO standard. Sent via Deja.com http://www.deja.com/ Before you buy.