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,91c7c63c23ef2d0c X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Beware: Rep spec on an enumeration type ... Date: 1997/12/12 Message-ID: #1/1 X-Deja-AN: 297460834 References: X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 881903270 13280 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.ada Date: 1997-12-12T00:00:00+00:00 List-Id: Joe said <> It is a silly and risky thing for vendors to jump on one particular difference like this, and claim that it represents a general state of things. As Joe says in his message, every compiler has particular problem areas. Yes, sure salesmen go around seizing on such things, and I suppose it must work in some cases or why would they do it? For example, we know of a case where one particular program did not compile on GNAT, but compiled using compiler X. The salesman for X showed this off as an example of the supposed "immaturity" of GNAT -- one slight glitch -- GNAT happened to be right, and this was in fact a long standing bug in compiler X :-) You will always be able to find relative weaknesses and strengths when comparing any two compilers. In a benchmark of GNAT against a compiler that has been around for a while, the performance was generally comparable with a few exceptions. A salesman could focus on one line in such a bench mark result "Look here, GNAT is ten times slower on this program than xxx". Of course a GNAT salesman (if there were such a beast :-) could pick another test and say exactly the opposite. Both are true statements, neither is helpful. I actually think that more important than whether glitches exist is the support a vendor gives in helping you find and fix glitches. To me, one of the nice things about the specific discussion of enumeration types was the note from Intermetrics that the next version of the compiler would indeed fix the failure to recognize the confirming rep clause as a special case. It's that kind of responsiveness that users really need, and in this case will get. <> Well I must say this giant population of angry Ada users who don't know what they are doing must either be smaller than Joe thinks, or they must not be using GNAT :-) Seriously, I think Joe way overstates the problem here. Perhaps his shop has just had bad luck, but I think the kind of problem he worries about is a relatively minor issue in the overall success picture of the use of Ada. You do not have to be a language expert to have the background to have a feeling for many of these issues. A basic graduate course in programming language design and compiler techniques, should be quite adequate, the sort of education that any CS graduate should have. If you have an entire project with no one with this kind of background, then I think that is definitely asking for trouble! That being said, there are definitely some areas where Joe's wish for some standardized advice would be useful. For example, all Ada programmers should understand the two models of implementing variant records with default discriminant values, and all Ada programmers should be aware of the consequences of using controlled types. Robert Dewar Ad Core Technologies