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,6b6619eb9cada212 X-Google-Attributes: gid103376,public From: Ray Blaak Subject: Re: Help me to chose between ADA 95 and C++ Date: 1999/12/14 Message-ID: #1/1 X-Deja-AN: 560860365 Sender: blaak@vault84.infomatch.bc.ca References: <01bf37fb$a91afb60$0564a8c0@IS-D2D04C.test> <829rbv$a8m$1@nntp6.atl.mindspring.net> <01bf3e32$0b9dc880$022a6282@dieppe> <385112AE.7E2CFA9@rdel.co.uk> <833d8i$sjf$1@nntp5.atl.mindspring.net> <38566835.B4A2D48@rdel.co.uk> X-Trace: news.bctel.net 945238233 207.34.170.84 (Tue, 14 Dec 1999 22:10:33 PDT) NNTP-Posting-Date: Tue, 14 Dec 1999 22:10:33 PDT Newsgroups: comp.lang.ada X-Complaints-To: news@bctel.net Date: 1999-12-14T00:00:00+00:00 List-Id: Chris Powell writes: > Did the coding standard for the safety-critical software developed allow > full use of Ada 95 constructs? My experience of safety-critical software > is that while Ada is usually the chosen language, most of the Ada > language features are disallowed. I worked on one project where > constrained types were not allowed (because they are more likely to > raise exceptions than unconstrained types), no packages (because data > hiding limited testability) and certainly nothing as difficult to test > as inheritance/polymorphism could be used. Oh Lord. Packages not allowed? In a safety-critical system? Packages are the one of the fundamental building blocks of Ada to piece systems together with. Controlling the namespace effectively prevents all sorts of errors, and is the necessary for having a reasonable design. Anything else is chaos -- a collection of library level procedures, I suppose, with what cohesiveness? The testing argument is bogus -- design your packages with testing in mind, and export the necessary services to allow coverage. I would hate to maintain that system, or to work for that company in the first place. I have also worked in situations with some language features were not allowed (i.e. access types), and have usually found that the work-arounds to overcome the missing feature usually tended to be more error-prone and confusing than using the feature directly. -- Cheers, The Rhythm is around me, The Rhythm has control. Ray Blaak The Rhythm is inside me, blaak@infomatch.com The Rhythm has my soul.