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,df854b5838c3e14 X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: Gripe about Ada, rep specs that won't. Date: 1996/03/25 Message-ID: #1/1 X-Deja-AN: 144312123 references: <00001a73+00002504@msn.com> <4iv0g6$6cs@news4.digex.net> <4j77e4$ldn@ra.nrl.navy.mil> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-03-25T00:00:00+00:00 List-Id: Doug says "You both are correct, of course. C++ totally lacks the means to pack arrays. Bob D hits the nail on the head when he says that it's mostly a matter of expectations. I still have to code up a class in C++ to handle this stuff. I've done that. Once. That's all I need. You guys might think "you can do the same thing in Ada," and I will end up doing so, but with the 'size and packing cop-outs available to compiler developers (see other messages in this thread), there's very little that one can be sure of in moving Ada code around." This is plain wrong. We now have the experience of porting many hundreds of thousands of lines of complex ada 83 code, containing lots of coplex rep clauses, to GNAT, and for the most part it ports with no trouble. The minor cases where there are portability probles with respect to rep clauses are all cases where we intend to enhance GNAT to accept the missing feature. Sure you can code up a class in C++, but for the items that map efficiently to the hardware (precisely the subset of such things that we demand should be implemented in Ada compiler), the compiler can do a far better job of generating efficient code than your C++ class. Has anyone actually *looked* at version 1.10 of the ACVC, which introduced the rep clause tests. In many areas it is prtty thorough (I helped write many of these tests, and I am demanding in this area). All Ada 83 compilers implement at least this subset, and I think that you can assume that all Ada 95 compilers will also implement at least this subset, and more, sice in some areas the Ada 95 RM adds additional capabilities.