comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@gnat.com
Subject: Re: Tell this C programmer about Ada and realtime...
Date: 1998/09/21
Date: 1998-09-21T00:00:00+00:00	[thread overview]
Message-ID: <6u6ad6$kin$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 6u5nsf$b28@acmey.gatech.edu

In article <6u5nsf$b28@acmey.gatech.edu>,
  jm59@prism.gatech.edu (John M. Mills) wrote:

> If your Real-Time-E[nvironment|xecutive] (RTE) vendor uses the GNU tool
> suite (This includes at least one mainstream vendor - perhaps Wind River),
> you're good to go with GNAT,
> which I have found very serviceable.  The current
> public release handles tasks as UNIX threads, which is fairly clean to spin
> off ISRs, etc. (he says, having only used others' libs for ipc).

A correction here. Some GNAT versions use UNIX threads for
tasks, others do not, some provide a choice. In the case of
GNAT ports to VxWorks, GNAT threads do of course translate
directly into VxWorks threads.

Incidentally, just because Wind River uses GCC, does not mean
that GNAT is necessarily the best choice. The whole point of
GCC (and GNAT!) is that they follow standard system
conventions. Any other compiler that follows these
conventions can be used fine with VxWorks for example.

If you are using VxWorks in particular, there are a number
of different possibilities for compilers. You should judge
these using the normal criteria (price, reliability, language
coverage, portability features, integration with VxWorks etc)
It is certainly true that you can be sure that GNAT and the
GCC compiler used in VxWorks are good partners, but other
Ada 95 compilers may interface with GCC equally well, and
you should not assume otherwise.

> Note: We found this works very easily
> if the 'main' is in GNAT, but
> requires that you explicitly force task instantiation
> if your main is [say]
> in C.  I can get more info on
> this if you turn out to need it.

There is no requirement for the main program to be "in GNAT"
(an odd phrase anyway, in Ada is presumably meant). Note that
you may often get wrong advice like this from people using
GNAT if they are using the public version, since they are
figuring out things for themselves. Certainly if you are
using the fully supported version, you will have no problems
in mixing Ada and C and other languages, and having the main
in any language you like. Many of our customers use a C main
program (and GNAT itself has a C main program!) This doesn't
mean that the public version is not usable, if you don't have
any mission critical requirement (e.g. your interests are
purely research oriented or you are just learning to use
Ada, then the public version without support maybe just what
you need!)

> If you like Ada, it's highly useable.  Naturally you have to be[come]
> comfortable with Ada, but the language was originally conceived for this
> type of application -- it may have taken a few iterations to grow into the
> truly useable tool I find it to be now.  My summary would be: "Ada is like
> Pascal with an Attitude."  You "pay up front" as you design the module
> breakout and interface data types for your Ada app, then you cash in pretty
> well at integration and support time, when the enforced clarity and type-
> checking pays off.  This is particularly true when the project requires a
> group of coders to put in to a common library pool.

If you are seriously interested in using GNAT with VxWorks
or RTEMS, you should contact sales@gnat.com. We have a wide
variety of possible product offerings, ranging from fully
supported turnkey systems, to cooperative arrangements in
which the customer handles backend issues, and we provide
help and also support for frontend issues. Which approach
is appropriate depends on the environment and the level of
knowledge of the customer.

Robert Dewar
Ada Core Technologies

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum




  reply	other threads:[~1998-09-21  0:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-09-17  0:00 Tell this C programmer about Ada and realtime Mike Silva
1998-09-17  0:00 ` Tucker Taft
1998-09-21  0:00 ` John M. Mills
1998-09-21  0:00   ` dewar [this message]
1998-09-21  0:00   ` dennison
1998-09-21  0:00     ` dewar
1998-09-21  0:00   ` John M. Mills
1998-09-21  0:00     ` dewarr
replies disabled

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