comp.lang.ada
 help / color / mirror / Atom feed
From: agate!howland.reston.ans.net!zaphod.mps.ohio-state.edu!darwin.sura.net!sg iblab!a2i!dhesi@ucbvax.Berkeley.EDU  (Rahul Dhesi)
Subject: Re: C to ADA translators.
Date: 7 Apr 93 19:24:07 GMT	[thread overview]
Message-ID: <C54oK8.MxL@rahul.net> (raw)

In <66126@mimsy.umd.edu> alex@cs.umd.edu (Alex Blakemore) writes:

>fine, but before you mechanically try to translate the software to Ada,
>why not try to build an Ada binding to the C or FORTRAN code,
>(.i.e. RTFM about pragma interface and friends)

Once again, let me gently point out that those of us used to BSD
environments do things much more simply when we need to make major
applications communicate with one another.  We invoke each as a separate
process, and we let them communicate via messages (usually through
'pipes', often through intermediate files when the communication is
batch-oriented).

For a small and clean example of this, look at the 'cterm' package
written in C, which allows any program written using perl to uses
screen management routines.  The perl process communicates with the
cterm process via a bidrectional pipe.

Monolithicity for the sake of monolithicity, i.e., assuming that the
only way of combining two software modules is to link them together and
make one big mass out of them, is a bad idea.  Although it's true that
Ada was primarily designed for embedded systems, my guess is 95% of the
Ada code out there implements conventional applications that the rest
of us happily write in C, Fortran, or Cobol, without having any special
requirements to interface with specific hardware.  It's such
applications that are best implemented as relatively self-contained
modules each running as a separate process in the BSD style.  Given
such a paradigm, there is no need to convert existing C code into Ada,
or even link it with an Ada program.  Just give it a convenient
interface and let it run as a separate process.
-- 
Rahul Dhesi <dhesi@rahul.net>
also:  dhesi@cirrus.com

             reply	other threads:[~1993-04-07 19:24 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-04-07 19:24 agate!howland.reston.ans.net!zaphod.mps.ohio-state.edu!darwin.sura.net!sg [this message]
  -- strict thread matches above, loose matches on Subject: below --
1996-06-19  0:00 C to Ada Translators Greg Kramer
1993-04-08 17:06 C to ADA translators fred j mccall 575-3539
1993-04-07 20:33 Wes Groleau X7574
1993-04-07 18:27 howland.reston.ans.net!usc!cs.utexas.edu!csc.ti.com!tilde.csc.ti.com!mkso
1993-04-07 18:26 Alex Blakemore
1993-04-07 17:22 Wes Groleau X7574
1993-04-06 23:25 David Emery
1993-04-06 21:27 timothy shimeall
1993-04-06 19:45 Dave Bashford
1993-04-06 19:43 agate!howland.reston.ans.net!bogus.sura.net!darwin.sura.net!dtix.dt.navy.mil!relay-wo!relay!apssgi.nswc.navy.mil!bwallet
1993-04-06 18:41 Wes Groleau X7574
1993-04-05 21:12 Pat
1993-04-06 12:16 ` Brad Wallet
1988-07-02 19:22 C to Ada translators Mike Linnig
replies disabled

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