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,cfbb90c56a313e70 X-Google-Attributes: gid103376,public X-Google-Thread: 10261c,cfbb90c56a313e70 X-Google-Attributes: gid10261c,public From: Richard Riehle Subject: Re: From extended Pascals to Ada 95 guide Date: 2000/08/28 Message-ID: <39AAED55.6EA4E810@ix.netcom.com>#1/1 X-Deja-AN: 663669752 Content-Transfer-Encoding: 7bit References: <8o3s2a$9ph$1@nnrp1.deja.com> <8o4bfq$v0h$1@slb7.atl.mindspring.net> <39A655BE.18E89020@maths.unine.ch> <39A668AB.26F88375@maths.unine.ch> X-Accept-Language: en X-Server-Date: 28 Aug 2000 22:52:41 GMT Content-Type: text/plain; charset=us-ascii Organization: MindSpring Enterprises Mime-Version: 1.0 Newsgroups: comp.lang.ada,comp.lang.pascal.misc Date: 2000-08-28T22:52:41+00:00 List-Id: Marco van de Voort wrote: > >As for submarines, you're right. Since C/C++ is said to replace Ada in US embedded > >systems.. glups... Can you document this? I know of some cases where irresponsible or ignorant systems engineers have specified C++ instead of Ada, but there continues to be a lot of Ada in many of the systems I know about. Anyone who would select C++ instead of Ada for a safety-critical military weapon systems either 1) does not understand Ada, 2) does not understand C++, 3) does not understand either one, or 4) has some agenda that supercedes reliability and technical excellence. I frequently encounter all four situations in my software practice. There may be some alternative emerging within the C family of languages: C#. I recently attended a briefing on that language. It may improve on the reliability issues so rampant in C++ and rectify some of the concerns relative to Java. Of course, it is still a new language offering and has a job of persuading real software developers to adopt it. So far, though, no programming language quite measures up to Ada when reliability and safety concerns are the key issues. I personally like Smalltalk and Eiffel, but would not choose either when developing something as important as a military system, a communications satellite, a cardiac control unit, flight control systems, or the many other kinds of software that, if there is an accident, can result in the death or maiming of unintended humans. Modula-2 and Modula-3 fall short of the requirement. C++ falls far short of the requirement. Oberon is a step in the right direction. Eiffel, as a language, has potential for the future but the implementations are not at the right level of maturity. Java is an interesting offering, but more of a research topic in many respects. It is also a good teaching tool. Perhaps it will improve with time. When one studies this issue really carefully, with the goal of reliability and safety in mind, the decision in favor of Ada naturally falls out as the right one. It is an engineering decision, not a programming language decision. Very few software developers, and even fewer software development managers, are trained to consider engineering issues in constructing software. If one is designing for one of the popular desktop operating systems, many of which are inherently defect-infested themselves, there may be minimal benefit in selecting a language focused on error-free software. In that case, C++, Java, Smalltalk and other popular languages are fun to use. I wonder how many C++ programmers would trust their lives to flying in an airplane programmed in that language. Well, this is just Richard preaching to choir again. Sorry for the rant. It is the end of a long day and I just reviewed this thread, discovering it failed to focus on what is and is not important -- at least to my mind. Richard Riehle