comp.lang.ada
 help / color / mirror / Atom feed
From: dvdeug@x8b4e53cd. (David Starner)
Subject: Re: Ada95 Strengths/Weaknesses.
Date: 1999/09/27
Date: 1999-09-27T00:00:00+00:00	[thread overview]
Message-ID: <7smp30$9aa1@news.cis.okstate.edu> (raw)
In-Reply-To: 37EED7B8.245C0054@yukyonline.co.yuky

In article <37EED7B8.245C0054@yukyonline.co.yuky>, the middleman wrote:
>I've been learning Ada95 for a year now. And although I don't have much
>experience of other languages I'd certainly say it was my favourite. 
>In discussions with friends the abilities of Ada95 have cropped up. I
>was wondering if anyone could possibly point out the weaknesses and the
>strengths that Ada95 has when compared to other languages such as C so
>that I can finally set the record straight.

Needless to say, it's very arguable. Here's my comparison vs. C & C++.

Advantages vs. C++
* Better modularity support 
* Not locked into class=type pardigm
* Built in tasking support
* Strong typing for real
* Large choice and fine control over types. (C & C++ offer at best a clumsy
mechanism to chose one of the standard types.)
* The libraries were written with module, exception and template support in 
mind (as opposed to C++ where many libraries were written before standard
implementations of those were common, or for compilers that don't support 
them.)
* Almost all Ada compilers are standard compliant (whereas few C++ compilers are
totally standard compliant, and many lack major features (namespaces, 
templates). (Note that most C compilers _are_ ISO C compliant, one of the few 
advantages of C over C++).
* Elegance. Ada is designed by a small team with a strong leader, and was
updated from 83 to 95 by another small team with a strong leader. OTOH, C & C++
were grown languages, with gangly and arbitrary cruft everywhere, with C++ 
especially being designed by commitee.

Additional Advantages vs. C
* Any real modularity support
* Object orientation, and the other aminaties of a modern language (exceptions,
templates, etc)
* Some saftey net against bugs (C compilers by default will let extremely 
questionable & machine depended code by.)

Disadvatages vs. C++
* Type safety makes it harder for some stuff to get done - i.e. it's impossible
to make a type look exactly like a number in Ada, but trivial in C++.
* C++ includes several somewhat experimental features (template specilization,
multiple inheritance) that Ada designers considered too experimental or 
specialized to add.

Disadvantages vs. C & C++
* Large base of installed libraries. If you can find a Ada library that does
what you need to do (not unlikely, but not as likely as for C or C++ - and it's
probably a wrapper around a C library), it probably won't come precompiled and
set up for your system, and it probably won't be installed on your user's 
system.
* C compilers have a standardized interface. OTOH, you can distinuigsh Ada
compilers by the required file names, and the interface is more variant. 
* C & C++ compilers will usually produce smaller and faster code, albeit 
usually less than an order of magnitude.

David Starner - dstarner98@aasaa.ofe.org




  reply	other threads:[~1999-09-27  0:00 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-09-27  0:00 Ada95 Strengths/Weaknesses the middleman
1999-09-27  0:00 ` David Starner [this message]
1999-09-28  0:00   ` Robert Dewar
1999-09-28  0:00     ` Code size of Ada ? was " Alfred Hilscher
1999-09-28  0:00       ` Gautier
1999-09-28  0:00       ` David Botton
1999-09-29  0:00       ` Robert Dewar
1999-09-29  0:00         ` Alfred Hilscher
1999-09-29  0:00           ` Robert Dewar
1999-09-30  0:00             ` Alfred Hilscher
1999-09-30  0:00               ` Robert Dewar
1999-09-30  0:00               ` Gautier
1999-09-29  0:00         ` Larry Kilgallen
1999-09-29  0:00           ` Robert Dewar
1999-09-29  0:00           ` Alfred Hilscher
1999-09-29  0:00             ` Ted Dennison
1999-09-29  0:00             ` Robert Dewar
1999-09-30  0:00               ` Alfred Hilscher
1999-09-30  0:00                 ` Robert Dewar
1999-09-30  0:00                   ` Ehud Lamm
1999-09-30  0:00                     ` Robert Dewar
     [not found]                       ` <7t2e1l$lqt2@ftp.kvaerner.com>
     [not found]                         ` <37F91D6E.58685CFE@mitre.org>
     [not found]                           ` <7tf7uo$h2b$1@nnrp1.deja.com>
     [not found]                             ` <37FBA978.A86762F1@mitre.org>
1999-10-18  0:00                               ` Robert Dewar
1999-10-19  0:00                                 ` Code size of Ada ? Robert I. Eachus
     [not found]                           ` <7tf7uo <37FBA978.A86762F1@mitre.org>
     [not found]                             ` <5OkO3.2$1e.659@typhoon.nyu.edu>
1999-10-19  0:00                               ` Code size of Ada ? was Re: Ada95 Strengths/Weaknesses Robert I. Eachus
1999-09-30  0:00                   ` tmoran
1999-09-30  0:00                 ` Gautier
1999-09-30  0:00                   ` Robert Dewar
1999-09-30  0:00                   ` Robert Dewar
1999-09-30  0:00                   ` Robert Dewar
1999-09-29  0:00             ` Gautier
1999-09-29  0:00               ` Ed Falis
1999-09-29  0:00                 ` Gautier
1999-09-29  0:00                 ` tmoran
1999-09-30  0:00               ` Robert Dewar
1999-09-29  0:00           ` Robert Dewar
1999-09-28  0:00     ` GNAT listing file default names (was: Ada95 Strengths/Weaknesses) Larry Kilgallen
1999-09-28  0:00       ` Gautier
1999-09-29  0:00         ` Robert Dewar
1999-09-29  0:00       ` Robert Dewar
1999-09-29  0:00         ` Larry Kilgallen
1999-09-29  0:00           ` Robert Dewar
1999-09-29  0:00             ` Larry Kilgallen
1999-09-30  0:00               ` Robert Dewar
1999-09-28  0:00     ` Ada95 Strengths/Weaknesses David Starner
1999-09-28  0:00       ` Gautier
1999-09-28  0:00         ` Ed Falis
1999-09-28  0:00           ` David Starner
1999-09-29  0:00           ` Robert Dewar
1999-09-28  0:00         ` David Starner
1999-09-29  0:00           ` Robert Dewar
1999-09-28  0:00       ` p.obry
1999-09-28  0:00         ` David Starner
1999-09-28  0:00           ` Richard D Riehle
1999-09-28  0:00       ` Robert Dewar
1999-09-28  0:00         ` David Starner
1999-09-29  0:00           ` Robert Dewar
1999-09-30  0:00         ` Pragma (was Re: Ada95 Strengths/Weaknesses.) Preben Randhol
1999-09-30  0:00           ` Preben Randhol
1999-09-28  0:00       ` Ada95 Strengths/Weaknesses Robert Dewar
1999-09-28  0:00       ` Ted Dennison
1999-09-28  0:00         ` Simon Wright
1999-09-28  0:00   ` the middleman
1999-09-28  0:00   ` Robert Dewar
1999-09-28  0:00     ` David Starner
1999-09-29  0:00       ` Robert A Duff
1999-09-28  0:00     ` David Starner
1999-09-28  0:00       ` Robert Dewar
1999-09-28  0:00         ` Ray Blaak
1999-09-27  0:00 ` Marin David Condic
1999-09-27  0:00   ` Hyman Rosen
1999-09-28  0:00     ` Robert Dewar
1999-09-28  0:00       ` Preben Randhol
1999-09-28  0:00         ` bill
1999-09-27  0:00           ` Aidan Skinner
1999-09-28  0:00           ` Steve Doiel
1999-09-28  0:00           ` Larry Kilgallen
1999-09-28  0:00           ` Preben Randhol
1999-09-28  0:00     ` Ed Falis
1999-09-28  0:00       ` Hyman Rosen
1999-09-28  0:00         ` Ed Falis
1999-09-28  0:00   ` Preben Randhol
1999-09-27  0:00 ` Steve Doiel
1999-09-27  0:00 ` J. David Bryan
1999-09-28  0:00 ` Geoff Bull
1999-09-29  0:00   ` the middleman
1999-09-29  0:00     ` Robert A Duff
1999-09-28  0:00 ` Geoff Bull
replies disabled

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