Path: utzoo!attcan!uunet!lll-winken!sol.ctr.columbia.edu!emory!hubcap!billwolf%hazel.cs.clemson.edu From: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) Newsgroups: comp.lang.ada Subject: Re: problems/risks due to programming language, stories requested Message-ID: <8211@hubcap.clemson.edu> Date: 2 Mar 90 19:26:01 GMT References: <5694@crdgw1.crd.ge.com> Sender: news@hubcap.clemson.edu Reply-To: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu Lines: 21 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. Bill Wolfe, wtwolfe@hubcap.clemson.edu