From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 6 Jan 93 21:57:58 GMT From: agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!zaphod.mps.ohio-state .edu!cs.utexas.edu!csc.ti.com!tilde.csc.ti.com!mksol!mccall@ucbvax.Berkeley.EDU (fred j mccall 575-3539) Subject: Re: An Ada Program Does What It Says? Message-ID: <1993Jan6.215758.10007@mksol.dseg.ti.com> List-Id: In <1993Jan4.082827.11773@hellgate.utah.edu> matwood%peruvian.cs.utah.edu@cs.ut ah.edu (Mark Atwood) writes: >In article <9301031530.AA17787@ajpo.sei.cmu.edu>, SAHARBAUGH@ROO.FIT.EDU write s: >>I searched B&M's book and noted each example program whose >>output is "indeterminate" or "implementation dependent". I >>noted the page number on which the answer appears. >(deleted) >>My warning stands. Ada code looks deceptively readable. The >>reader must understand the language translator and the >>runtime environment to be able to correctly read an Ada >>program. >I just finished reading those books, and yes there do seem to be a lot of >indeterminate and compiler dependent "thing" in the Ada standard. A co- >worker and I discussed it for a while and made the observation that probably >every language has these "gotcha"'s, they just aren't as well documented >or understood. >Stuff like expression ordering, floating point representation, concurency, >etc, will always be indeterminate. >Not to trigger yet another C vs Ada flamefest, but this expression in >C is a classic example... > r = (i++ == ++i) It is also, of course, quite well documented and understood. You are correct in stating that just about every language is going to have syntactically correct constructs which produce undefined or implementation-defined results. You are, however, incorrect in your assumption that Ada is the only language in which these things are well documented or understood. [One typically sees a lot more people making mistakes like that above in C simply because one sees a lot more inadequately or untrained people working in C than one sees working in Ada -- and we're back to the 'popularity' issue.] -- "Insisting on perfect safety is for people who don't have the balls to live in the real world." -- Mary Shafer, NASA Ames Dryden ------------------------------------------------------------------------------ Fred.McCall@dseg.ti.com - I don't speak for others and they don't speak for me.