TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Jeff Carter <[log in to unmask]>
Reply To:
Jeff Carter <[log in to unmask]>
Wed, 14 Jun 2000 18:21:40 -0400
text/plain (64 lines)
David Botton forwarded your message to the Team-Ada mailing list.

Ada is named after a woman; it is not an acronym and should not be
written in all caps.

Boeing and Airbus could both have chosen C++ for their
commercial-jetliner fly-by-wire software. However, they both chose to
use Ada. There are plenty of 30-year-old airliners in service, so Ada
will exist for at least 30 years. Of course, Ada is also used in many
other applications that will be around for the foreseeable future. The
major players in the Ada market report stable or growing markets.
Finally, even if no one did new development in Ada, it would be in no
worse a situation than languages such as COBOL or FORTRAN, and
institutions with large code bases in such languages do not worry about
the viability of the languages.

There is also the question of cost, and what effect rewriting the
software in C++ will have on the software. Industry-standard figures
show about 10 SLOC/person-hour. If we make the questionable assumption
that a rewrite can double that, 140 kSLOC will require 7000
person-hours, or about 30 person-years. If you get bottom-of-the-barrel
C++ people for $30k/yr, the rewrite will cost at least $900k. Since
teams of more than about 10 people are less effective than smaller
teams, it will also take about 3 years. I suggest that you can train
existing or available personnel to use Ada effectively for much less
than that. I suspect you could even obtain the source code for an
open-source compiler and provide your own compiler for the duration of
the program for less than that.

Industry-standard figures also show about 5 errors/kSLOC for new
software. If we make the questionable assumption that a rewrite can
halve that, the end product will have about 350 errors. If the software
is currently operating with acceptable failure rates, it probably has
0.5 or fewer errors/kSLOC, or 70 errors. Thus, what is being proposed is
a $900k effort over 3 years to increase the number of errors in the
software by at least a factor of 5. A more realistic estimate, using 10
kSLOC/day and 5 errors/kSLOC, is $1.8M over 6 years to increase the
number of errors by at least a factor of 10.

As for Ada developers, they are certainly available. Many, however, are
software engineers, not programmers. Since SW engineers are rare (2% of
all programmers are capable of becoming Sw engineers) and much more
highly skilled than programmers, you should expect to pay more for them.
Since you will need fewer of them, and they will create software faster
and with fewer errors, the total cost is less than with $30k/year C++

In summary

1 Ada is viable and will remain so.
2 You could maintain your own personal pocket of Ada viability for less
than the proposed rewrite can be expected to cost.
3 The rewrite is an expensive project that will increase the number of
errors in the software by a factor of at least 5, and probably 10.
4 Ada SW engineers are available and more cost-effective than C++

I hope this is of use to you.

Jeff Carter
"Your mother was a hamster and your father smelt of elderberries."
Monty Python & the Holy Grail