comp.lang.ada
 help / color / mirror / Atom feed
From: netnews!schonberg!dewar@nyu.edu  (Robert Dewar)
Subject: Re: verdix kisses off Ada
Date: 20 May 93 13:44:25 GMT	[thread overview]
Message-ID: <dewar.737905465@schonberg> (raw)

I am sorry to puncture a "wonderful irony", but GNU Ada is NOT being developed
in C or C++. Here is the exact story:

GNAT (the official name for GNU/Ada, it stands for GNU NYU Ada Translator)
uses the existing GCC backend. That is, for understandable historical reasons
written in C, and we are using it pretty much as is, with some minor changes
to accomodate Ada (minor here means that the total impact is a small fraction
of the original work). We are *not* going to rewrite this in Ada -- there are
good technical and non-technical reasons for this decision, and note that even
if this were a project covered by the mandate, no one would suggest that it
makes sense to rewrite several hundred thousand lines of code in Ada just for
the sake of doing so!

The front end of GNAT, which is really where the development of the project
is, is in Ada. Currently, for obvious bootstrap reasons, it is in Ada 83, but
may eventually shift to 9X as we bootstrap (a point we are close to right
now). The GNAT front end is currently about 68,000 lines (23,000 if you count
semicolons).

Finally there is a relatively small interface module, called Gigi (*), that
takes the Ada tree and constructs the GCC tree for the backend. This is
written in C because it needs to connect intimately to the C structures in
the backend. Actually if we were fully bootstrapped, we probably COULD 
rewrite this in Ada, since GNAT will inter-operate very closely with GNU C,
but there was no way to do this early on, and in any case Gigi is only
a couple of thousand lines of pretty straightforward C.

So, in terms of new code being written, GNAT is over 90% in Ada. The
percentage will increase as time goes on, because we have a lot more 
additions still to go in the front end. Furthermore, the runtime will
also be all in Ada, except for the usual tiny operating system interface
stuff that is needed at a low level.

So, no irony here! Furthermore, I should report that the experience in
switching from C to Ada in our Ada group at NYU (the old Ada Ed code was,
as I think people are aware, all in C), was quite remarkable.

Our C code suffered from all the usual defects that people associate with
C (lack of documentation, lack of clear interface design, incompatible
coding styles, very variable quality etc.)

When we started coding in Ada, our whole approach changed.  We started having
regular design meetings which focussed on package spec design etc. etc. You
all know this story, I don't have to repeat it in detail, but it certainly
is interesting to see it happening again in ones own back yard!

	Robert Dewar (codirector with Ed Schonberg of GNAT project at NYU)


(*) For the curious, the etymology of the name Gigi is that this program
translates from the GNAT tree to the GCC tree, hence it came to be called
G-to-G or G-squared, and thus Gigi became a natural, somewhat more colorful
version of the same name.

             reply	other threads:[~1993-05-20 13:44 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-05-20 13:44 Robert Dewar [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-05-28 21:45 verdix kisses off Ada deccrl!news.crl.dec.com!dbased.nuo.dec.com!digits.enet.dec.com!brett
1993-05-28 19:20 David Emery
1993-05-28 16:36 agate!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!swrinde!cs.utexas.edu
1993-05-28 14:07 deccrl!news.crl.dec.com!dbased.nuo.dec.com!digits.enet.dec.com!brett
1993-05-28  6:41 VERDIX KISSES OFF ADA Robert Dewar
1993-05-27 21:47 verdix kisses off Ada agate!howland.reston.ans.net!usc!cs.utexas.edu!csc.ti.com!tilde.csc.ti.co
1993-05-26 23:51 VERDIX KISSES OFF ADA dog.ee.lbl.gov!overload.lbl.gov!agate!howland.reston.ans.net!darwin.sura.
1993-05-25 20:26 verdix kisses off Ada Richard Kenner
1993-05-25 15:31 Laurence VanDolsen
1993-05-25  2:26 Michael Feldman
1993-05-24 23:18 Greg Titus
1993-05-24 22:03 cis.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!howland.
1993-05-24  1:54 Verdix " Jonathan Schilling
1993-05-22 16:43 verdix " Michael Feldman
1993-05-22  0:46 agate!howland.reston.ans.net!noc.near.net!das-news.harvard.edu!ogicse!ver
1993-05-21 16:21 Michael Feldman
1993-05-21 14:19 Gregory Aharonian
1993-05-21 11:10 Verdix " news
1993-05-20 17:30 verdix " Robert Dewar
1993-05-20 13:48 arthur.j.northrup
1993-05-20 13:41 Tucker Taft
1993-05-19 23:25 Val Kartchner
1993-05-19  2:40 Michael Feldman
1993-05-18 23:47 dog.ee.lbl.gov!overload.lbl.gov!lll-winken.llnl.gov!taurus.cs.nps.navy.mi
1993-05-18 17:56 dog.ee.lbl.gov!network.ucsd.edu!swrinde!emory!ogicse!verdix!sfz
1993-05-17 22:20 Verdix " Robert I. Eachus
1993-05-17 19:53 David Emery
1993-05-17 16:52 Robert Kitzberger
1993-05-17  2:02 news
1993-05-14 19:33 Bruce Jones
1993-05-14 11:01 Anders Thulin
1993-05-13 17:42 Gregory Aharonian
replies disabled

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