From: alan@hal.larc.nasa.gov (alan dare)
Subject: c++ vs ada results
Date: 12 Jun 91 16:47:41 GMT [thread overview]
Message-ID: <1991Jun12.164741.412@news.larc.nasa.gov> (raw)
Netlanders,
A short time ago I put a request out for information on c++ vs
Ada. I was hoping for several responses from people on both sides of the
fence that were working on graphics applications. As my primary application
is graphics. What did I receive? I received more requests to post the results
than I received mail from people using c++ or Ada. I received only two
messages from people using c++ in a graphics application and none from
anyone using Ada. There were several messages from general users of c++
and only a few from Ada users. A kind soul FAX'ed me a document "A comparison
of Experiences with the Maintenance of Object-Oriented Systems: Ada vs. C++".
I didn't try to post a summary of the article (it's to big). The comments
below were sent to me. I don't claim any responsibility for them. I don't
currently use c++ or Ada. The comments are provided as a request from many
people. Please don't use this posting to start a language war.
The first post went to the following news groups:
comp.sys.sgi
comp.graphics
alt.graphics
comp.lang.ada
comp.lang.c++
The comments below were edited only to reduce size, not content.
**************************************************
*** Graphics *************************************
**************************************************
o I use C++ for graphics work. We considered ADA.
Both have great pluses and a lot of minuses.
Mostly the minuses are finding existing graphics packages
which are compatible. They are rare with C++ and non-existent
with ADA to my knowledge.
o Ada has lots of features totally irrelevant to graphics
which cost something in compile time even on a compiler that
produces efficient code. It has no particular features to
reccommend it for graphics particularly over any of the common
block-structured languages.
**************************************************
*** PRO ADA Comments *****************************
**************************************************
o The Ada MIL-SPEC and validation suites do a
lot to insure a consistent interpretation of the
language across platforms and vendors. No such
validation or "frozen" specification exists for
C++. This causes lost time and less portability.
o Ada's Packages and Generic Packages are a
lot easier to design for than C++ classes.
o Ada has better support for embedded systems'
work than C++. C++'s OO mechanisms
(particurlarly dynamic binding) exact a performance
penalty that will not be acceptable for some
hard real-time systems. This will be less
important in the future, as hardware gets
faster and applications get more complicated
(thus requiring the complexity-management
mechanisms offered by languages like C++).
Ada 9X will probably suffer similar performance
penalties on the same kinds of mechanisms.
**************************************************
*** CON ADA Comments *****************************
**************************************************
o The language is too big for the few benefits over C++ that
it features.
o Ada is a "weaker" language than C++ in expressing
OO concepts (e.g. inheritance, polymorphism).
Packages, Generic Packages and Ada's overloaded
operators aren't enough. Ada 9X will supposedly
deal with these issues, but it will be at least a decade
before the Ada 9X environment is truly widely
available at a reasonable cost.
o ADA compilers tend to cost real money.
o ADA suffers from having way too many features -- probably
an artifact of the design-by-committee process. It's such a
huge language that a programmer may never fully "learn" it.
o Converting code to ADA from anything is a problem.
o ADA still tends to be slow, though that problem is slowly
going away.
o Ada is only object-based (it has no inheritance), while
C++ _is_ object-oriented.
**************************************************
*** PRO C++ Comments *****************************
**************************************************
o The dynamic binding, polymorphism and inheritance mechanisms
are *extremely* powerful, and very useful in graphical
applications. Future enhancements including parameterized
types (== Ada "Generic Packages") and exceptions
(== Ada exceptions) are going to be equally powerful.
o After extensive reading and personal evaluation, I came to the
conclusion the ADA implementions are far worse than the C
implementations (I use the stuff from GNU, don't see how anyone
can write better software).
o C++ compilers are cheap -- the GNU family is free, and runs
on a number of different architectures. You can get the source
code so that you can fix it if it's broken.
o C++ seems to be a reasonably clean design; the features tend to
be orthogonal and complete. A competent programmer can probably
"learn" C++ pretty well in a month.
o Converting code from C to C++ isn't a big problem. (And with
some of the Fortran-to-C translators that are publicly available,
the Fortran->C->C++ path, while a bit of a pain, isn't
completely daunting.)
o C++ runs just about as fast as C, i.e. it's plenty fast enough
to write things like volume renderers.
**************************************************
*** CON C++ Comments *****************************
**************************************************
o The tools for working with it maybe not as mature as ada tools.
o C++ is hard to master.
o C++ has reasonable OO mechanisms, but they
are difficult to learn, and more difficult to use
effectively. This is partially due to the low
quality of the documentation, which is quickly
changing.
**************************************************
*** GENERAL Comments *****************************
**************************************************
o There are a lot more Ada people out there, at
the moment, than C++ people. There will probably
be a lot more C++ people in the future than Ada
people, simply because the language is more
accessable to more people (Gnu C++ is free, for
example; "Turbo C++" costs ~$60; AT&T is
very generous in licensing to Universities).
o There will probably be a lot more C++ compilers
available on a lot more platforms than Ada
compilers in the future (the costs of validation
are high; reuse of AT&T code or GNU code
is cheap).
I would like to thank the following for responding to my post :
baker@csl.dl.nec.com
blbates@aero36.larc.nasa
brendan@illyria.wpd.sgi.com
fmhv@inesc.inesc.pt
jansm@cih.hcuge.ch
jdt@voodoo.boeing.com
jls@netcom.com
jshumate@logdis1.wr.aflc.af.mil
leisner.henr801c@xerox.com
richard@elroy.Jpl.Nasa.Gov
rsk@gynko.circ.upenn.edu
uselton@nas.nasa.gov
--
*********************************************************************
Alan Dare | Internet : alan@hal.larc.nasa.gov
NASA Langley Research Center |
next reply other threads:[~1991-06-12 16:47 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
1991-06-12 16:47 alan dare [this message]
1991-06-12 19:15 ` c++ vs ada results Paul Martz
1991-06-12 20:17 ` Jim Showalter
1991-06-13 20:49 ` Paul Kohlmiller
1991-06-13 23:12 ` Bruce Jones
1991-06-14 17:56 ` GNU c++ bashing (was Re: c++ vs ada results) Eli Brandt
1991-06-16 2:48 ` c++ vs ada results Russ Nelson
1991-06-16 4:10 ` Sean Eric Fagan
1991-06-18 4:17 ` Jim Showalter
1991-06-18 8:33 ` Sean Eric Fagan
1991-06-18 21:53 ` Jim Showalter
1991-06-18 12:28 ` Mats Henricson
1991-06-18 22:06 ` Jim Showalter
1991-06-19 15:07 ` Dan Weinreb
1991-06-19 17:00 ` Doug Smith
1991-06-20 14:08 ` Steve Juneau
1991-06-20 19:56 ` Robert I. Eachus
1991-06-21 17:27 ` David M Geary
1991-06-20 22:09 ` Paul Stachour
1991-06-21 17:03 ` David M Geary
1991-06-23 3:14 ` Jim Showalter
1991-06-26 22:13 ` Dan Weinreb
1991-06-21 22:01 ` Jim Showalter
1991-06-20 14:35 ` chief programmer team organizations was (c++ vs ada results) Alex Blakemore
1991-06-21 12:40 ` chief programmer team organizations was (c++ vs ada results)H house ron
1991-06-21 15:47 ` chief programmer team organizations Joseph Beckenbach {Adapter Software Release Engr}
1991-06-21 22:25 ` chief programmer team organizations was (c++ vs ada results)H Jim Showalter
1991-06-26 22:18 ` Dan Weinreb
1991-06-21 22:04 ` chief programmer team organizations was (c++ vs ada results) Lars P. Fischer
1991-06-23 3:17 ` Jim Showalter
1991-06-24 13:23 ` Jim Hargrove
1991-06-21 22:21 ` Jim Showalter
1991-06-22 2:14 ` John Nagle
1991-06-23 3:23 ` Jim Showalter
1991-06-23 13:21 ` David Feustel
1991-06-23 18:54 ` Jim Showalter
1991-06-27 15:30 ` Dan Weinreb
1991-06-24 4:00 ` Marco S Hyman
1991-06-24 20:23 ` Stanley Friesen
1991-06-26 0:37 ` Jim Showalter
1991-06-24 20:29 ` Jim Showalter
1991-06-24 18:29 ` John Nagle
1991-06-25 18:38 ` Jim Showalter
1991-06-25 19:30 ` Christopher Warack
1991-06-25 20:06 ` chief programmer team organizations John Baldwin
1991-06-24 9:36 ` chief programmer team organizations was (c++ vs ada results) George C. Harrison, Norfolk State University
1991-06-25 13:42 ` Harry Erwin
1991-06-26 16:15 ` Bob Martin
1991-06-19 18:36 ` c++ vs ada results Jim Showalter
1991-06-19 15:01 ` Dan Weinreb
1991-06-24 2:29 ` Andrew Dunstan
1991-06-24 10:06 ` David Emery
1991-06-24 13:16 ` Mats Henricson
1991-06-25 4:29 ` Tom McClory
1991-06-26 0:35 ` Jim Showalter
1991-06-26 1:26 ` Andrew Dunstan
1991-06-26 22:47 ` Jim Showalter
1991-06-27 15:47 ` Alex Blakemore
1991-06-27 23:58 ` Jim Showalter
1991-06-25 19:27 ` Jim Showalter
1991-06-23 23:59 ` CBW Consulting
1991-06-24 20:11 ` Jim Showalter
1991-06-12 21:27 ` Dan L. Pierson
-- strict thread matches above, loose matches on Subject: below --
1991-06-20 16:24 Chuck Shotton
1991-06-22 3:24 ` Thomas M. Breuel
[not found] <164741@<1991Jun12>
1991-06-20 17:58 ` ryer
1991-06-24 14:44 ` ryer
1991-06-27 12:34 Chuck Shotton
1991-06-27 18:24 Ray Diederich, 301-294-8400
1991-07-01 5:15 Andrew Dunstan
1991-08-13 14:29 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!qt.cs.utexas.edu!cs.utexas.e
1991-08-13 22:08 David Emery
1991-08-14 5:03 Mike Feldman
1991-08-14 14:41 Fred Stluka
1991-08-14 18:25 Doug Smith
1991-08-14 18:40 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!utgpu!
1991-08-14 19:15 Doug Smith
1991-08-14 20:15 Jim Showalter
1991-08-15 13:30 Paul Baker - CTA
1991-08-15 15:40 Andy Davidson
1991-08-16 17:56 Doug Smith
1991-08-29 16:54 David Emery
1991-08-30 7:24 Ma ts Henricson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox