- Commercial viability
- Standardization and portability
- Ada 83 and Ada 95 are ISO standards
- C is ANSI standard; “It will probably be years before the C++ standard is finally adopted.” H. Schildt, ANSI C++ committee,1995
- Lifecycle Productivity
- Training, programmer productivity, reuse, maintainability
- Process and tools
- High cost of Ada 83 compilers; Ada 95 GNAT is freeware
- Added cost of C/C++ “process” to provide features inherent in Ada
- Reliability and safety
- Ada compiler/runtime validation
- Ada technical features: type checking, run-time range checks, restricted pointer use, library consistency, determinism, etc
From the Script: SLIDE 10 - Cost Factors
Factors that must be considered in determining software development lifecycle costs include:
- a programming language's commercial viability - with regard to Ada, it is certainly viable. As is shown on the next slide, DOD alone has 50 MSLOC of Ada code. Worldwide there may be more than 100 MSLOC. Tools, developers, etc. for this technology will be available for the foreseeable future.
- standardization and portability (Ada 83 and Ada 95 are ISO standards, C is an ANSI standard, and C++ is still in the approval process). Standardization has a direct impact on portability.
- lifecycle productivity (which includes training, programmer productivity, reuse, and maintainability)
- process and tools (we need to consider the cost of compilers and support tools). Ada 83 did not fare as well as other languages in this area of "up front" costs. Ada 95 tools are much more comparable to those of other languages. As always, though, it pays to shop around. One can find examples where Ada costs more and where Ada costs less.
- and reliability and safety (things such as runtime validation, error rates, type checking). Remember that it costs less to fix an error the sooner it is found. Ada excels at early error detection.
The next slides will address how Ada affects each of these areas by showing the results of studies conducted on Ada's usage.