From: Richard Riehle <rriehle@nunic.nu.edu>
To: Wayne Lawton <wlawton@servtech.com>
Cc: Jeff Pimper <jeffyp@ix.netcom.com>
Subject: Re: Ada to C++
Date: 1996/05/19
Date: 1996-05-19T00:00:00+00:00 [thread overview]
Message-ID: <Pine.GSO.3.92.960519101203.15207A-100000@nunic.nu.edu> (raw)
In-Reply-To: 319CF01A.2B86@servtech.com
On Fri, 17 May 1996, Wayne Lawton wrote:
> Jeff Pimper wrote:
> >
> > I work at Lawrence Livermore National Laboratory where I have been made
> > responsible for a large Ada code which runs on Open VMS Alphas and uses
> > both Motif and Sherrill-Lubinsky's Graphic Management System. I have
> > been asked to port to the code to HP machines running Unix. One option
> > is to just port the Ada code, assuming I can find bindings for Motif
> > and GMS.
>
> Ada bindings to Motif are reasonably available. Quality of bindings are another story.
>
> >
> >Unfortunately this is an old program with lots of obsolete
> > legacy code which should be deleted or at least rewritten.
> >
> > The other option is to translate the code to C++, which would make the
> > code both easier and cheaper to maintain in the future.
Gasp! This is patently untrue. Ada 95 will provide a vastly better
environment for long-term maintenance than C++.
> >Please, no religious wars. There are studies which prove the statement
both ways.
Every reputable study has demonstrated that one of Ada's stongest
virtues is maintainability. The Ada 95 standard provides an even
stronger model for maintainability. It significantly improves over
the somewhat flimsy, and definitely fragile model of C++.
> If you have not researched the area specifically, I would recommend that you do so. Do not simply
> accept common wisdom unilaterally.
And what is the common wisdom?
> >Does anyone know
> > of any tools to aid this translation? Like an Ada to C++ translator,
> > some sort of case tool, or anything else?
There is no need to do this. Plus, it will be more expensive than
simply moving your code to Ada 95 and taking advantage of the
upward compatibility of Ada 95 with Ada 83.
> >There are several case tools that can provide some form of Ada reverse engineering followed by
> forward engineering C++. I have worked with both Paradigm Plus (by protosoft) and Rational
> Software's tools for several years with mixed results.
>
> The difficult problem to solve is that any given code is only the implementation of a design that
> was created with the language in mind (to a lesser or greater extent). Consequently, there are
> often design decisions made that reflect a specific languages capabilities. Common idioms in Ada
> are simply unavailable in C++, and vice versa.
Anything you can do in C++ can be done in Ada 95. The correct choice is
to simply acquire an Ada 95 compiler, re-do that part of the design you
think is in need of improvement.
Furthermore, simply translating the code to C++ would buy you nothing.
You will still be stuck with the original design. What you probably
need to do is reassess the architectural design, and then make the
changes you deem necessary. Under no circumstances is it appropriate
to do an automatic translation to C++. That will just buy you even
more trouble than you already have.
> >My management is more
> > concerned with time than with immediate expense.
> > If this is the case, I would highly recommend contracting several
VERY senior software engineers.
>
> You're fastest, highest quality results will come from senior engineers
that have 5+ years working
> with both languages. They will also have the ability to put language
wars aside and concentrate
> on the job at hand.
OK. But be sure they are not still stuck in Ada 83. The new Ada 95
standard is a fully object-oriented ISO/ANSI standard (which C++ still
is not) and significantly raises the ante. It is an improvement over
both Ada 83 and C++.
> >
> > Any help would be most appreciated.
> >
> > Jeff Pimper
> > pimper1@llnl.gov
>
>
> My thoughts only. Based on 16 years experience. 13 with Ada. 5 with C++. Currently both.
>
> Wayne R. Lawton
> WLawton@servtech.com
>
>
next parent reply other threads:[~1996-05-19 0:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <319C22D2.608F@ix.netcom.com>
[not found] ` <319CF01A.2B86@servtech.com>
1996-05-19 0:00 ` Richard Riehle [this message]
1997-04-29 0:00 ada to C++ Jim Millard
-- strict thread matches above, loose matches on Subject: below --
1997-06-19 0:00 Ada to C? mgbrown
1998-07-16 0:00 ADA to C++ Harsha N S
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox