comp.lang.ada
 help / color / mirror / Atom feed
From: "John Duncan" <jddst19+@pitt.edu>
Subject: Re: Basic questions about Ada95
Date: 1999/07/30
Date: 1999-07-30T00:00:00+00:00	[thread overview]
Message-ID: <7nscak$o3h$1@usenet01.srv.cis.pitt.edu> (raw)
In-Reply-To: 933315145.641@www.remarq.com

> 1. All the sites talk about Ada's realiability. What
> specific features does Ada have that makes it reliable?

Ada has language-defined static and runtime checks for many unsafe
conditions, such as integer overflow, dereferencing invalid pointers, bad
array indexes (fencepost issue), etc. It also is a highly typed language and
the implementation tries to make the programmer ensure that data are
relevant to the operation before an operation is performed. Furthermore, Ada
comes with a very high-level multiprogramming paradigm and allows simpler
specification of intricate conditions than other languages allow.

> 2.Is the size of the executables in an acceptable range?

Many people complain about this. Ada executables for application programs
are often very large, taking into account all of the runtime functionality
that an Ada program can access. I would imagine, though, that if someone
were to "compare" the size of an Ada program to a C program, they would set
the Ada implementation to "maximum bloat" and the C implementation to a
minimal runtime. It's not fair, of course. But Ada does get used quite often
for embedded and realtime systems. It is very much possible to restrict the
runtime code to fit into a small space.

> 3. Does it have garbage collection?

Ada defines the language with only a new operator and no delete operator. In
addition, there is a generic library subprogram called
"Unchecked_Deallocation" that provides type-safe storage reclamation on
demand. What this means for you:

1. Ada's specification makes it easy for GC to be implemented.
2. Ada's overwhelming use for embedded and realtime systems means that
implementors can get away with never providing GC for the system. RT people
generally do not like GC.

> 4. Does it have any RAD development environments available?

It depends what you mean by this. There are GUI builders for Ada, there are
integrated development environments, there are object modeling utilities
that generate Ada specifications, there are SASD case tools that produce Ada
workings, there are FSM implementers for Ada, etc. It is not a RAD language
like Visual Basic, though. It is not made to be supported by better code
written in another language. It encourages reuse through a number of
mechanisms involving type safety, package implementation hiding, a
rationally-designed language that allows code to be generated for it,
"tagged types" which are the Ada answer to objects, and generics. All of
Ada's features are designed in a way to make the feature set orthogonal.
This allows a relatively simple language to achieve a high level of
flexibility.






  parent reply	other threads:[~1999-07-30  0:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-07-29  0:00 Basic questions about Ada95 Ronald Caudill
1999-07-29  0:00 ` William Starner
1999-07-30  0:00 ` John Duncan [this message]
1999-07-30  0:00 ` Ted Dennison
1999-08-02  0:00 ` Gautier
1999-08-02  0:00   ` Robert Dewar
replies disabled

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