* 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