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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!rpi!crdgw1!sunbelt!eaker From: eaker@sunbelt.crd.ge.com (Charles E Eaker) Newsgroups: comp.lang.ada Subject: Re: problems/risks due to programming language, stories requested Message-ID: <5750@crdgw1.crd.ge.com> Date: 3 Mar 90 20:18:20 GMT References: <5694@crdgw1.crd.ge.com> <8211@hubcap.clemson.edu> Sender: news@crdgw1.crd.ge.com Organization: General Electric Corporate R&D Center List-Id: In article <8211@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes: >>From hammondr@sunroof.crd.ge.com (Richard A Hammond): >% | | In the switching software (written in C), there was a long >% | | "do . . . while" construct, which contained >% | | a "switch" statement, which contained >% | | an "if" clause, which contained a >% | | "break," which was intended for >% | | the "if" clause, but instead broke from >% | | the "switch" statement. >> >> Which doesn't support any conclusion other than the programmer didn't know >> the language. > > Not exactly. There is a lack of orthogonality in that similar > flow-of-control constructs do not terminate in similar ways. If > one is using the if statement, termination is automatic. If one > is using the switch statement, a break is required. It is this > lack of orthogonality which leads to potential problems. Ok, so the implied orthogonality of Ada means that, without putting a whole lot of thought into it, I can map the above C outline to Ada as follows: In the switching software (TRANSLATED to Ada), there was a long "LOOP" construct, which contained a "CASE" statement, which contained an "IF" clause, which contained an "EXIT," which was intended for the "IF" clause, but instead broke from the "LOOP" statement. and if there's a mistake here, it's because of the lack of orthogonality of Ada (which we all know is laughable) rather than any misunderstanding of the language on my part. Right? Hmm, maybe I'll stop working in Ada and go back to C. I like the idea of the language taking the wrap for what some misguided souls have viewed as my mistakes. But wait! Maybe I can stick with Ada. All I have to do is show, somehow, that Ada is not all that orthogonal ... hmm ... -- Chuck Eaker | eaker@sunbelt.crd.ge.com Software Engineering Program | eaker@crdgw1.UUCP GE Corporate Research & Development Center | (518) 387-5964 P.O. Box 8, K-1 3C12 Schenectady, NY 12301 | 8*833-5964