comp.lang.ada
 help / color / mirror / Atom feed
* Basic questions about Ada95
@ 1999-07-29  0:00 Ronald Caudill
  1999-07-29  0:00 ` William Starner
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Ronald Caudill @ 1999-07-29  0:00 UTC (permalink / raw)


Hi,
I am considering learning Ada95. I have looked at some Ada
web sites and read some tutorials on ada But I still have
some questions? I will probably use GNAT so please answer
with this in mind.

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

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

3. Does it have garbage collection?

4. Does it have any RAD development environments available?

Thanks for any help.   Ronald Caudill.



* Sent from RemarQ http://www.remarq.com The Internet's Discussion Network *
The fastest and easiest way to search and participate in Usenet - Free!




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Basic questions about Ada95
  1999-07-29  0:00 Basic questions about Ada95 Ronald Caudill
@ 1999-07-29  0:00 ` William Starner
  1999-07-30  0:00 ` Ted Dennison
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: William Starner @ 1999-07-29  0:00 UTC (permalink / raw)


Ronald Caudill wrote:
> 2.Is the size of the executables in an acceptable range?

Why don't you try it and see? If you're worried about the question, you
obviously have some idea what an "acceptable" range is, but the rest of us don't
know what you consider acceptable. The best way is to compile a program and see.
Also, ls -l GNAT and see if that's what you consider reasonable for an
optimizing compiler.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Basic questions about Ada95
  1999-07-29  0:00 Basic questions about Ada95 Ronald Caudill
  1999-07-29  0:00 ` William Starner
@ 1999-07-30  0:00 ` Ted Dennison
  1999-07-30  0:00 ` John Duncan
  1999-08-02  0:00 ` Gautier
  3 siblings, 0 replies; 6+ messages in thread
From: Ted Dennison @ 1999-07-30  0:00 UTC (permalink / raw)


In article <933315145.641@www.remarq.com>,
  Ronald Caudill <anonymous@web.remarq.com> wrote:

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

With Gnat your executable should be the same size a C excutable with the
same functionality would be, since they both share the same back-end. It
is easy to get fairly large executables by using features or importing
packages that require a lot of code (tasking and Text_IO being common
examples of each). A lot also depends on your OS. For instance, I
suspect tasking executables are far larger in DOS than in NT, becuase in
NT the compiler can piggy-back off of the OS's thread support. But as
always, you are in a "you get what you pay for" situation. Tasking would
create just as big of an executable if you wrote it in C. Its just that
you'd have to actually write source code to perform task
switching yourself, whereas in Ada you get it free.


--
T.E.D.


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Basic questions about Ada95
  1999-07-29  0:00 Basic questions about Ada95 Ronald Caudill
  1999-07-29  0:00 ` William Starner
  1999-07-30  0:00 ` Ted Dennison
@ 1999-07-30  0:00 ` John Duncan
  1999-08-02  0:00 ` Gautier
  3 siblings, 0 replies; 6+ messages in thread
From: John Duncan @ 1999-07-30  0:00 UTC (permalink / raw)


> 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.






^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Basic questions about Ada95
  1999-07-29  0:00 Basic questions about Ada95 Ronald Caudill
                   ` (2 preceding siblings ...)
  1999-07-30  0:00 ` John Duncan
@ 1999-08-02  0:00 ` Gautier
  1999-08-02  0:00   ` Robert Dewar
  3 siblings, 1 reply; 6+ messages in thread
From: Gautier @ 1999-08-02  0:00 UTC (permalink / raw)


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

It depends on the compiler/linker system, the optimization
and security level choosen: Ada provides a standard set
of run-time checks you can suppress with pragmas or with options.

A linker that is aware of modularity like Janus Ada linker
or Borland Pascal/Delphi linker is able to trim unused
code unlike "old-fashioned" standard linkers for Fortran/C/C++/ASM.

GNAT 3.11 does this trimming with gnatelim tool.

-- 
Gautier

--------
http://members.xoom.com/gdemont/




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Basic questions about Ada95
  1999-08-02  0:00 ` Gautier
@ 1999-08-02  0:00   ` Robert Dewar
  0 siblings, 0 replies; 6+ messages in thread
From: Robert Dewar @ 1999-08-02  0:00 UTC (permalink / raw)


In article <37A59BE2.38395082@maths.unine.ch>,
  Gautier <gautier.demontmollin@maths.unine.ch> wrote:
> > 2.Is the size of the executables in an acceptable range?

Note that critical factors here are:

1. Optimization level, optimized code will generally be smaller,
but enabling inlining may make it larger.

  [C has no language controlled inlining so is not subject
   to this behavior, but of course cannot get interunit
   inlining either]

2. Debugging symbols. With some compilers compiling with
debugging information can make executables much larger (although
typiccaqlly this is not information that is part of the
footprint of the application in memory).

3. Static vs Dynamic linking. Particularly in small programs,
whether the runtime library is statically or dynamically linked
can make a huge apparent difference in executable sizes.



Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~1999-08-02  0:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-07-29  0:00 Basic questions about Ada95 Ronald Caudill
1999-07-29  0:00 ` William Starner
1999-07-30  0:00 ` Ted Dennison
1999-07-30  0:00 ` John Duncan
1999-08-02  0:00 ` Gautier
1999-08-02  0:00   ` Robert Dewar

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