> -----Original Message-----
> From: Team Ada: Ada Programming Language Advocacy (83 & 95)
> [mailto:[log in to unmask]]On Behalf Of Toshitaka Kumano
> Sent: 09 July 2004 07:32
> To: [log in to unmask]
> Subject: Advocacy Needed
> Hello Team-Ada,
> We developed an experimental naval system in the early 1990',
> which was very large scale real-time system, programmed
> almost with Ada83,
> and with a little of C89 / assembler code.
> Now we plan to put the system into actual production in coming years,
> but the manager and some system engineers are very dubious
> that Ada will
> survive, say, in a decade from now, and they consider that maintenance
> problem shall arise, sooner or later, by shortage of various
> tool chain.
> They plan to convert manually the entire sources from Ada83 to C++,
> that is very ridiculous, from my viewpoint as an evangelist of Ada
> for its technical superiority, and a believer of the survival of the
> language.

Some arguments that I have used:

1.  How does you manager know that C++ will survive?  How many truly independent C++ compiler vendors are there?  How compatible are their dialects (should your chosen vendor disappear)?  At least Ada is truly portable so you only need any one vendor to survive (not a particular one).

2.  Some C++ compiler vendors are also Ada vendors and their compilers share large numbers of components so they get maintained together and target new processors together.

3.  If all else fails, GNAT is open source and can be kept going indefinitely.

4. What does providing 25 years support mean in practice?

a. In  Ada:  Language transition: Ada 83 >> Ada 95 >> Ada 0Y;  Almost completely backward compatible; Language type abstractions protect from processor size changes

b. In C: Language transition: K&R C >> C90 >> C99, Significant backward incompatibilities; Processor word size dependencies easily introduced
C99 is very large, has major insecurities and no compiler support

c. In today's "Hot Language":  Language transition C >> C++ >> Java >> C# >> ???; Near complete rewrite at each stage!

5.  It may not happen anyway: if your manager is prepared to pay the price of porting now, when there is no proven risk of future maintainability problems, why is he not prepared to defer that expenditure and make the port only if his worst fears are realised and maintainability does become a problem?

6.  Ada is healthier than some of the special pleading reports might suggest.  Ridiculous arguments are used against Ada by those with vested interests.  We have have posted here "number of open source projects using Ada" being used as a (spurious) metric and elsewhere I have seen ostensibly sane people claiming "we can't use Ada because no university in Texas teaches it".   Where relaibility is favoured over fashion, Ada continues to be used.  The 7E7 Dreamliner will be a substantially Ada aircraft (especially where it matters).  Ask you manager whether he reagrds reliability as important.

7.  I all else really fails, Tucker will convert to C for you using Adamagic and you could maintain the C.

I think the main thrusts should be:  (1)  He is spending money now against an unknown risk and it won't cost any more to do the port in the future if the risk materializes. (2)  Ada is healthier than a caasual glance suggests.

Hope this helps


This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.  The IT Department at Praxis Critical Systems can be contacted at [log in to unmask]
This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit: