comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Ada  "library only" compiler ?
Date: Fri, 20 Jul 2012 23:47:28 +0200
Date: 2012-07-20T23:47:28+02:00	[thread overview]
Message-ID: <87394mds0f.fsf@ludovic-brenta.org> (raw)
In-Reply-To: a6tvrmFdinU1@mid.individual.net

Niklas Holsti <niklas.holsti@tidorum.invalid> writes:
> On 12-07-20 23:05 , Patrick wrote:
>> This thread could be a bit inflammatory, please bear in mind:
>> -I love Ada
>> -I've been with Ada for 7 months and I am only learning it.
>> -Programming is not my day job
>
> Good, but I don't think that the above either qualifies or disqualifies
> you as a critic of Ada. The substance of the criticism is what matters.

+1

>> I was surprised to see so much C code. I know  Ada has facilities for
>> low level programming but it seems to be that the momentum of C
>> hasn't allowed for Ada to grow as much as it could have in this
>> department. It seems to me that even within GNAT, it has just been
>> easier to piggyback on C, rather then rewrite things in Ada and ASM.
>
> I don't know much about GNAT and GCC internals, but the Ada part has
> to interface with the rest of GCC, through an interface that I assume
> is defined in C, or through files with a format defined in C
> terms. When using such interfaces from Ada, it is often easiest to
> write an application-specific, thin, in-between layer in C. This layer
> can then directly use the interface-defining C header files, without
> translating the header files to Ada (which can be a lot of work,
> especially if #defines are used a lot). Perhaps the C code you found
> has this role.

I know a lot about GCC internals (well, not as much as AdaCore folks)
and I confirm that what you said is 100% correct.  A lot of C code in
the GNAT sources is located in the directory gcc/ada/gcc-interface;
there is a good reason for that.

You will also notice, besides the C code, a lot of Makefiles,
Makefile.in, Makefile.ac.  The build system of GCC is horribly complex
and consists of hundreds of thousands of lines of configury and
makefiles.

Niklas, everything else you said is correct, especially about the Ada
run-time library interfacing with the target operating system and
tasking.

> What would be more useful, and much easier, would be to port GNAT and
> ORK to more GCC-supported targets. Use AVR-Ada as an example.

And package them for Debian for easy installation and use by the masses
:)

-- 
Ludovic Brenta.



  reply	other threads:[~2012-07-26 16:04 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-20 20:05 Ada "library only" compiler ? Patrick
2012-07-20 21:11 ` Niklas Holsti
2012-07-20 21:47   ` Ludovic Brenta [this message]
2012-07-20 22:25   ` Peter C. Chapin
2012-07-20 22:51     ` Ludovic Brenta
2012-07-21  0:32       ` Randy Brukardt
2012-07-21 12:39         ` Pascal Obry
2012-07-22  4:59           ` Shark8
2012-07-22  7:04             ` Pascal Obry
2012-07-22 10:17           ` Florian Weimer
2012-07-24  1:54           ` Randy Brukardt
2012-07-24 16:50             ` Pascal Obry
2012-07-24 18:01               ` Vasiliy Molostov
2012-07-24 21:30                 ` Pascal Obry
2012-07-25  6:33                   ` Vasiliy Molostov
2012-07-25 23:44                   ` sbelmont700
2012-07-25 23:34               ` Randy Brukardt
2012-07-21 11:05     ` Niklas Holsti
2012-07-20 23:30   ` Patrick
2012-07-21 16:47     ` Niklas Holsti
2012-07-21 17:47       ` Patrick
2012-07-21 19:22         ` Simon Wright
2012-07-21 19:38           ` Patrick
2012-07-21 22:53         ` Brian Drummond
2012-07-22  3:25           ` Patrick
2012-07-22 17:54             ` Brian Drummond
2012-07-22 17:59               ` Brian Drummond
2012-07-22 18:44                 ` Patrick
2012-07-22 21:03                   ` Brian Drummond
2012-07-25 19:10                   ` J-P. Rosen
     [not found]               ` <m2a9yrsbf5.fsf@nidhoggr.home>
     [not found]                 ` <jui36a$hs0$1@dont-email.me>
2012-07-23 10:10                   ` Simon Wright
2012-07-24 10:55                     ` Brian Drummond
2012-07-22 21:25             ` Niklas Holsti
2012-07-22 22:00               ` Patrick
2012-07-22 21:18         ` Niklas Holsti
2012-07-21  0:27   ` Randy Brukardt
2012-07-21  7:36     ` Dmitry A. Kazakov
2012-07-21 13:31     ` Niklas Holsti
     [not found]   ` <olpj085ii9fpifpligh6jerghoaieiim1d@invalid.netcom.com>
2012-07-20 23:38     ` Patrick
2012-07-21 13:12     ` Niklas Holsti
2012-07-23  5:02 ` Miles Bader
replies disabled

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