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: 109fba,1042f393323e22da X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,1042f393323e22da X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,1042f393323e22da X-Google-Attributes: gid1014db,public From: Richard Riehle Subject: Re: Any research putting c above ada? Date: 1997/04/27 Message-ID: #1/1 X-Deja-AN: 238256859 References: <5ih6i9$oct$1@waldorf.csc.calpoly.edu> <334d3da5.14386594@aplcen.apl.jhu.edu> <2senchydgk.fsf@hpodid2.eurocontrol.fr> <3359e813.340466234@news.pacificnet.net> <5iri6b$jn0@bcrkh13.bnr.ca> Organization: National University, San Diego Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.ada Date: 1997-04-27T00:00:00+00:00 List-Id: The contention is, by some, that one can develop safe software as well in C or C++ as in Ada. This is probably true if, in addition to the C compiler, you also use the "checking" tools such as those from Pure Software or Parasoft, or ... Ada is design to to the maximum possible checking at compile time, and further checking at run-time. The Ada type model, the distinction between scope and visibility, the strict differentiation between parameter modes, and the rigorous rules for safe pointers, all contribute to improved software quality. Also, Ada design practices tend to be more like engineering than programming because the language structure leads a software practitioner to focus early on architectural issues instead of programming issues. To understand Ada, one typically needs to take an engineering view of the software process. Most programmers are not trained in engineering and that lack of training manifests itself in the defect-ridden software that populates the shelves of software stores, causes medical-devices to crash during operating-room procedures, and jeopordizes the at-large community daily. Someone constrained by a lifetime of blindness will have difficulty comprehending color. A programmer with no understanding of engineering may not see the difference between an engineering view of the software process versus a computer-science view. To really understand the value of Ada, one must approach the software process from that engineering view. This is not true of most other languages. Therefore, it is easy to learn C or C++ or Visual Basic and crank out reasonably effective software which, when it crashes, is not lethal. Ada is the language of choice when failure is not an option. Richard Riehle