Ada vs. C/C++|
Ada compared to C and C++
OverviewsAda 95 has several advantages over C++, in particular when software costs are examined over the lifetime of the software system. This article by Ed Schonberg focuses on details where the philosophies of both languages are in sharpest contrast.
For another view comparing Ada to C++, see this 1996 presentation by Dr. Charles Engle. While some of the details are out of date, the basic message is unchanged today.
Still another study is Technical Comparison of the Ada & C++ Languages by Edward Colbert (1991). This study evaluates the similarity and differences between Ada and C++ in their support of software engineering and system building goals, principles, and object-oriented abstractions. In Microsoft Word format.
For a critique of C++ in general, see C++? (PDF only), which argues that many modern programming languages are better choices than C++.
Experience ReportsWhat savings are possible when using Ada versus use C and C++ for a project? The following articles try to provide answers to this question.
Vision Systems Ltd. of Australia cut their bug rates from 1 every 80 lines using C to 1 every 270 lines using Ada, and cut their testing time from 9 months to less than 4 months.
The seminal comparison of Ada and C projects is Rational Software's 1995 study (also available as a pdf file). Verdix (which merged into Rational in 1994) had about 50% of their 3 million lines of code in C and 50% in Ada. The code was maintained by the same developers over the course of 11 years, yet the Ada code had about half as many defects and the overall development cost was about 35% less for Ada code.
This effect extends to academia as well. John McCormick reports that students in his course on real-time embedded software development fared much better using Ada rather than C. In fact, no one finished the project when using C, even given 60% of the code. On the other hand, 75% of the class finished the project when using Ada, even given a much smaller portion of the code (less than 20%).
This 1997 presentation summarizes as many experiences as possible. It demonstrates that the advantages of Ada show up in nearly every application area.
Software Fault Prevention Approach In Coding And Root Cause AnalysisThis paper that details many of the pitfalls of using C when building large systems.
|Home < Why Ada?||Last Updated: 12/03/99|