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 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3ccb707f4c91a5f2 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: C++ Standardization (was: Once again, Ada absent from DoD SBIR solicitation) Date: 1996/10/12 Message-ID: #1/1 X-Deja-AN: 189018946 references: <01bbb57f$7fb59020$72663389@billn.logicon.com> <325BC3B3.41C6@hso.link.com> <325BED6A.63F4@itg-sepg.logicon.com> <325EB65B.132F@thomsoft.com> organization: New York University newsgroups: comp.lang.ada Date: 1996-10-12T00:00:00+00:00 List-Id: Kevin from OC Systems sayds "Well, I have used all the Ada95 compilers (or have talked to people who have) and I got to say that this whole discussion is a bit irrelevant at this point. There simply is no Ada95 compiler that implements all the core requirements of the language, let alone worrying about whether the optional annexes are optional. GNAT certainly fails to compile many legal Ada95 programs and allows many other illegal programs (I run into this just about every day now since people are porting code written with GNAT to our PowerAda compiler). I don't mean to pick on GNAT here since all of the compilers are in the same boat here." Some clarifications. When we say GANT implements the full language, we are certainly not claiming that we process all possible programs correctly. I doubt that such a statement can ever be made about any compiler for a language of this complexity. What we mean is that if you use any part of the language and it does not work, we will consider it as a bug, rather than telling you that we don't implement that feature. Actually that is not quite absolute, since there are features that do not make sense in all environments, but our goal is that there should be no significant omissions. GNAT 3.07 will come much closer to this by closing one of the most significant current gaps -- package Machine_Code and machine code instrinsic routines are fully supported in this version. Whether this is relevant or not depends on your requirements. If you want to build a distributed application using the facilities of Annex E, then it might be critical. But, as I have often said, if your application does not need a partiular Annex, and you are sure of this for the future, then it makes perfectly good sense to use a compiler that does not implement this annex. I would personally like to see all the Ada 95 compilers implement all the annexes, except in cases where it makes no sense (I don't think the Patriot compiler needs to compute payrolls using the information systems annex :-). That's because I think the semantics in the distribution annex and the other special needs annexes greatly increase the semantic power of the language. Robert Dewar Ada Core Technologies