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: 115aec,f41f1f25333fa601 X-Google-Attributes: gid115aec,public X-Google-Thread: 103376,a3ca574fc2007430 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Ada and Automotive Industry Date: 1996/12/01 Message-ID: #1/1 X-Deja-AN: 201807197 references: <55ea3g$m1j@newsbf02.news.aol.com> <3280DA96.15FB@hso.link.com> <1996Nov6.210957.3070@ole.cdac.com> <5683sk$bsc@news.ccit.arizona.edu> organization: New York University newsgroups: comp.lang.ada,comp.realtime Date: 1996-12-01T00:00:00+00:00 List-Id: Chris says "I am ammussed by the comment "for saftey reasons" ADA is no safer than any other language. It is only safer in theroy. It depends on the standard of the compilers and tools etc. I believe that at the current time there are nearly 2000 requests for clarification on the ADA standard. This is 2000 places where implimentors of tools are not sure what the standard means or have dissagreed over implimentation. Therefore no two ADA compilers are guaranteed to produce the same output. " Well you can be amused at anything you like, but in this case you are being amused at your own ignorance. First, there are definitely respects in which some languages are safer than others. This is a well understood issue in language design. Safety is one (of several) axes where part of the language design issue is where to place your self on the spectrum, Second, let's look at the 2000 claim. here you are clearly just repeating something you have heard, without making any attempt to find out what the issues are. a) the number is nothing like 2000 b) the much smaller real number includes things like simple typos and suggestions for extra examples, or other supposed improvements in the text. I say supposed, because many of them are inappropriate. c) this also includes questions about the language whose answer should be clear to anyone who understands the language. No one can guarantee that everyone understands what they should, but all questions get logged, even silly ones. d) when you remove the above cases, you have a VERY much smaller set of issues. Many of these are extremely minor. Let's take one example: In Ada 83, A**4 is defined to mean A*A*A*A for the floating-point case. Question: does that mean that it is improper to compute it as (A**2)**2? A reasonable question. Note that no other language besides Ada comes close to pinning down floating-point semantics clearly enough for the question to be meaningful. In this particular case it was decided that the answer should be that it is OK to compute the double sqaure (even though there exist rare cases where it is less accurate to do so). The Ada 95 RM makes this explicit. e) of the still much smaller list of significant issues, a lot of them are cases where everyone agrees the RM is obviously wrong, and everyone agrees on the fix. In formal terms, these are problems, but in real life they do not BEGIN to be cases which puzzle tool or compielr writers. An example here: The Ada 83 RM accidentally made all static subtypes non-static. This was an obvious oversight easily corrected. f) the still smaller set of significant issues where there is real disagreemeent is a very small set. In my experience (taken from the worlds of C, Algol, COBOL, and Fortran, Ada has far fewer such trouble spots than other languages. It may be simply that you are unaware of the situation in other languages, but then, apart from the bogus figure of 2000 problems you have heard about for Ada, you are in fact completely unaware of the situation in Ada as well!