> the concern of migration to C++ might allow for errors creep into the
> 140,000 lines of existing code, and the associated maintenance
> considerations for the average of 152 changes per year to the code.
> Concern centers around the error minimization that the Ada compiler
> supports, and the extensive testing that might be required to support
> similar error minimization in the C++ code.
This is the primary reason for NOT going to C++. Ada is the
best choice for avoiding such errors, with Eiffel a close second.
A distant third is Java. C and C++ are close to the bottom of the
I was at a meeting with representatives of a company that sells compilers
(and other tools) for both C++ and Ada. One of them stated that Ada use
is growing about 10%, primarily due to disasters in C++. Unfortunately,
most of that growth is outside the U.S.
> effective in our environment, as the individual must become knowledgeable
> with DoD logistics business rules, and the quirks with Army, Navy, Air Force,
> and Marine unique logic. ...
This suggests little need for object-oriented features--most of the
effort is procedural. Thus, even C (sloppy as it is) may be a better
choice than C++.
> "Is Ada going away in the next few years (5-10), and if not - prove it."
Well, of course we can't _prove_it_ but Ada will not disappear any more
than Cobol. Ada is not likely to displace C++, but it's conceivable that
C++ could be displaced by Java--or whatever fad comes along after that.
Some excellent references:
C/C++ vs. Ada: http://www.adaic.org/intro/c.html
Keep in mind that C++ has all the risks of C and more. C++ can reduce
(or magnify) those risks by using object-oriented inheritance, but that
is apparently not relevant to the DAASC application.
Published Results of Using Ada. This is still being written, but the eighth
slide mentions "equivalent" programs, one in Ada, one in C. The one in Ada
had 96% fewer post-ship defects! Some points not mentioned (which should be)
in some of the comparisons:
(1) Some slides mention the Seawolf project. On this project, most of the
programmers learned Ada while on the project.
(2) When comparing SLOC in Ada with SLOC in CMS-2, consider that Ada typically
has _fewer_ SLOC per function point.
This presentation and others are at http://www.adaic.org/intro/c.html
A re-implementation in Ada had much lower maintenance costs, support
costs, and down time than its predecessor, and the costs decreased with
age, while the predecessor's cost increaded with age. This system is
probably closer to the DAASC problem domain than a communications or
aerospace system. Details (including numbers) at
Guidelines for Choosing a Programming Language: (Wow, was this hard to find!)