I've taken the liberty of copying your original posting to the
Team Ada mailing list ([log in to unmask]) as it is more suited to
Ada advocacy issues than gnat chat, and adding my comments at the
Brian Smith wrote:
> Hello everyone,
> This comment "get with the program" was expressed by management here
> about the utilization of Ada vs C++. I have been developing a high
> fidelity infrared sensor and signal processing simulation in Ada, but
> now the management wants to spend some internal research and development
> dollars to convert the Ada version to a C++ version.
> I keep telling them the benefits of Ada over C++ but I keep getting the
> response "GET WITH THE PROGRAM", C++ is the direction that we should be
> I have accessed some literature on the discussion of Ada vs C++ and have
> made some of this available to the management. I would like to ask for
> some help from those of you who may know off hand any current
> comparisons between Ada95 and C++ that I can use to support my case of
> continuing the development of the simulation in Ada95 instead of
> spending the money on the conversion to C++.
> Thanks in advance for your help.
> Brian Smith
> Senior Member of the Technical Staff
> Nichols Research Corporation
> (205) 885 - 7859
I certainly sympathize with your plight, I went through a very
similar experience about 8 months ago. Then, the mantra was "C++
is where the market is going!"
What you can do may somewhat depend on how aggressive you're comfortable
with being towards your management. ATWCS (Advanced Tomahawk Weapon
Control System) is a rather rough-and-tumble project, so I could at
times get downright abrasive :-)
Here, there were a few C++ zealots looking for an opportunity to go
that direction, which arose, although most of the managers didn't really
get too worked up over it, preferring to let their technical leads
recommend the direction.
The C++ fans conceded the technical superiority of Ada, but stated that
since it wasn't "where the market was going", it ought to be abandoned.
It seems nonsensical to not use the best products and tools to produce
the best possible system, but it's not like that's anything new (VHS
vs Beta, MS Windows, ad nauseum :-).
The factors that did beat back the assault were the technical reasons
(especially the presence of language-defined concurrency, which ATWCS
makes heavy use of), the experience base of Ada programmers here, the
large amount of software available for reuse, and the forceful
by the technical leads to use the best tools available to us to put this
Another tactic I used, and this is where the aggressiveness came in,
was to forcefully question the "commonly accepted truths" assumed by
the C++ fans:
"There's more tools!" Question this and they'll laugh at you at first.
Push it. What C++ oriented tools are useful to this project? I don't
recall seeing any "Weapon Control System Construction Kits" down at the
local Circuit City. (Nor I suspect would you find an "IR Sensor and
Signal Processing Construction Kit.")
"There's more C++ programmers, Ada programmers are hard to find!"
Lockheed Martin M&DS in Valley Forge, PA, has quite a number of job
openings, many in C++. Where are all those programmers? The shortage
is not just here, but the latest I've heard is that there's on the order
of a million unfilled software development positions. It's programmers,
and especially good ones, that are hard to find.
"Ada compilers are too expensive." Living in the past! Ada 95
compilers are quite price-competitive with C++ compilers now, even to
the point of being free (GNAT). There seems to be a perception that
C++ compilers are really cheap, which in actuality doesn't appear to be
the case with most Unix systems. They just get bundled in with the cost
of the whole OS and associated tools, and hardly anyone takes the time
to look at that one line item.
Good luck with your efforts!
All opinions and recommendations on Ada advocacy are mine and mine
alone, and are not meant to represent any position of the Lockheed
Marc A. Criley
Chief Software Architect
Lockheed Martin ATWCS
[log in to unmask]