comp.lang.ada
 help / color / mirror / Atom feed
From: eachus@mitre-bedford.arpa  (Robert I. Eachus)
Subject: Re: First-Time C
Date: 12 Jan 93 15:42:30 GMT	[thread overview]
Message-ID: <EACHUS.93Jan12104230@goldfinger.mitre.org> (raw)

In article <1993Jan11.210636.8396@gvl.unisys.com> garyp@rmtc.paramax.com (Gary 
Palangian [RMTC/ISP]) writes:

>       Our customer is probably going to make a decision to move from
>   Ada to C on my project...

   I find this statement very confusing...  There are some projects,
even very large projects, where progamming everything in Ada is
appropriate.  There are other projects, especially small projects,
where doing everything in C makes sense.  But I cannot imagine a
project where switching from all Ada to all C makes any sort of sense.
The most time and effort in an Ada project is in the design phase, the
most time and effort in a C project is usually spent in integration
and test.  Switching from Ada to C would seem to guarentee the worst
of both worlds.  (It would be nice if design in C, code and test in
Ada was the BEST of both worlds, but I don't think that free lunch
exists.)

>       I would appreciate concise and concrete information for
>  managing large systems development using C, especially from those
>  with an Ada background.

   Don't, use Ada instead!  (So much for concise and concrete. :-)

   If you need to do this for a large system, using Ada as a
compilable design language has a lot of advantages, but you must both
restrict the Ada used and maintain the design during the coding
process.  This works well but can cause personnel problems.  Everyone
ends up knowing both Ada and C if they didn't when the project
started, and from experience unwilling to work on another C project.
(Try spending a couple of years seeing all the advantages of Ada, but
none of the disadvantages, and vice-versa for C.  It's not fair, but
that's the way one project I know of that did this ended up.  This was
back in 1984-86, when no compilers supported the chapter 13 features
needed for a DBMS so it was a "right" decision.)

   The best of all possible worlds for your project, however, may be
to mix Ada and C.  Use Ada for the high-level design and structure,
and whenever appropriate write the (function) bodies in C.  This
allows you to use the strengths of both languages which are in very
different areas.  (You will also find that most of the bugs are in the
C code.  For the most part this will be because the parts where C is
most appropriate are the trickest routines to get right in any
case...)

    Have  fun,
--

					Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...

             reply	other threads:[~1993-01-12 15:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-01-12 15:42 Robert I. Eachus [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-01-16 22:30 First-Time C Orville R. Weyrich
1993-01-20 15:04 agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!ud
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox