comp.lang.ada
 help / color / mirror / Atom feed
From: Richard D Riehle <laoXhai@ix.netcom.com>
Subject: Re: Desirability of C++
Date: 2000/05/02
Date: 2000-05-02T01:20:22+00:00	[thread overview]
Message-ID: <8elagm$200$1@slb3.atl.mindspring.net> (raw)
In-Reply-To: t7r9bmjnf7.fsf@calumny.jyacc.com

In article <t7r9bmjnf7.fsf@calumny.jyacc.com>,
	Hyman Rosen <hymie@prolifics.com> wrote:

>What does that mean? C++ functions can return things other than integers
>and pointers, and there is a simple way in C++ to make arrays with bounds
>but no OO bloat.

You are, of course, correct that C++, using the library classes can make
array management much easier than the low-level arrays usually constructed
by programmers.  The same is true of smart pointer classes.  I recently
did a little informal survey of students where I teach and none of them
had learned anything about this better aspect of C++.

>While C++ syntax can sometimes be abysmal, I am 100% convinced that the
>main reason for the lack of Ada's popularity is its Pascal-derived syntax.
>Even after many attempts, I still can't look at a chunk of Ada code without
>my eyes swimming from the mass of undifferentiated text. If the designers
>had gone with {/} instead of is/begin/end, this could have been a different
>world. (And yes, I know that the internationalists wouldn't hear of using
>curly braces back then.)

That Ada syntax is 1) intended to make the code more readable, 2) enable the 
compiler to ensure completeness of each statement, 3) ensure that the 
programmer does not forget any little details that could affect the final
logic of the program.  The abysmal C++ syntax (along with abysmal Java syntax) 
does permit incomplete statements, and does not give the compiler a fine-grained
semantics that would enable the level of compile-time error checking we
enjoy with Ada.  

As for curly-braces, we are already experience a worldwide shortage of this 
pair of punctuation marks. Worse, curly-braces are the crabgrass of computer 
programming.  They require no labeling, and even when labeled the compiler
does not check those labels.  They are inconsistently used throughout the
C family of languages.  This is one of the things Java could have fixed and,
for some odd reason chose to leave as is.  

The reasons for Ada's lack of popularity are far more complex than the absence
of curly braces.  It starts way back with the ineffectual management of the DoD
and the agencies charged with making Ada policy work.  It can, in part be laid
at the feet of compiler publishers, some of whom saw the opportunity to charge
outrageous prices for their product because the military had "mandated" the
language and there was no choice for them but to pay those prices.  It can be
seen in the demand from the DoD to use the Ada language for projects for which
there was no compiler technology available and the resulting resentment of those
who had to find a way around the policy.   It can be found in the checkbox 
compilers that no one expected to be any good but which satisfied the checkbox
on the bidding form that asked if there were a validated Ada compiler.  I could 
go on, but readers of this forum have heard this before.  The point is, the lack
of curly braces is not a significant issue in the low popularity of Ada. 

I have had the opportunity over the past few years to get better acquainted with
C++.  The more I study C++, the deeper my realization that it is a dangerous choice
for any software in which human safety is involved.  Ada still has significant
advantages over C++ in that domain.  My earlier statements about C++ versus Ada
stand.  Any technologically savvy decision-maker who chooses C++ over Ada for a
safety-oriented software product is making that decision for reasons other than the
relative technical benefits of the language.  

Richard Riehle
richard@adaworks.com




  parent reply	other threads:[~2000-05-02  0:00 UTC|newest]

Thread overview: 176+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-04  0:00 where can we get a job with ada HollymaN
2000-02-03  0:00 ` David Kristola
2000-02-04  0:00   ` EKoerber
2000-02-04  0:00     ` Ted Dennison
2000-02-04  0:00       ` Brian Rogoff
2000-02-05  0:00         ` David Kristola
2000-02-06  0:00           ` Simon Brady
2000-02-07  0:00             ` Gareth
2000-02-07  0:00               ` Ted Dennison
2000-02-07  0:00               ` Simon Brady
2000-02-07  0:00               ` Kent Paul Dolan
2000-02-07  0:00                 ` Gareth
2000-02-08  0:00                   ` Kent Paul Dolan
2000-02-11  0:00                 ` where can we ... [off topic] Nick Roberts
2000-02-12  0:00               ` where can we get a job with ada Jeff Carter
2000-02-07  0:00             ` Ted Dennison
2000-02-28  0:00             ` Florian Weimer
2000-02-29  0:00               ` Ted Dennison
2000-03-01  0:00               ` Wes Groleau
2000-03-04  0:00               ` Robert B. Love 
2000-03-05  0:00                 ` Ada on International Space Station (Re: where can we get a job with ada) Vladimir Olensky
2000-03-08  0:00                   ` Robert B. Love 
2000-03-08  0:00                     ` Jean St-Pierre
2000-03-08  0:00                     ` Vladimir Olensky
2000-04-03  0:00                   ` Andrew Thomas Wilson
2000-04-12  0:00                     ` David Hoffman
2000-04-13  0:00                       ` Robert B. Love 
2000-04-14  0:00                         ` Desirability of C++ (was Re: Ada on International Space Station (Re: where can we get a job with ada)) David Kristola
2000-04-14  0:00                           ` Wes Groleau
2000-04-14  0:00                             ` Desirability of C++ Stanley R. Allen
2000-04-14  0:00                               ` Marin D. Condic
2000-04-15  0:00                                 ` Tarjei T. Jensen
2000-04-15  0:00                                   ` Marin D. Condic
2000-04-15  0:00                                     ` Tarjei T. Jensen
2000-04-17  0:00                                   ` Alfred Hilscher
2000-04-17  0:00                                     ` Gautier
2000-04-18  0:00                                       ` Tarjei T. Jensen
2000-04-18  0:00                                         ` Gautier
2000-04-28  0:00                                         ` Richard D Riehle
2000-05-02  0:00                                           ` Tarjei T. Jensen
2000-04-18  0:00                                       ` Pascal Obry
2000-04-23  0:00                                       ` David Kristola
2000-04-18  0:00                                     ` Tarjei T. Jensen
2000-04-17  0:00                                 ` Alfred Hilscher
2000-04-17  0:00                                   ` Marin D. Condic
2000-04-17  0:00                                     ` Gary Scott
2000-04-28  0:00                               ` Richard D Riehle
2000-04-30  0:00                                 ` Robert B. Love 
2000-05-01  0:00                                   ` Richard D Riehle
2000-05-01  0:00                                     ` E. Robert Tisdale
2000-04-30  0:00                                       ` Keith Thompson
2000-05-01  0:00                                         ` E. Robert Tisdale
2000-05-01  0:00                                           ` Keith Thompson
2000-05-01  0:00                                       ` Gautier
2000-05-01  0:00                                         ` E. Robert Tisdale
2000-05-01  0:00                                           ` Pat Rogers
2000-05-01  0:00                                             ` E. Robert Tisdale
2000-05-01  0:00                                               ` Pat Rogers
2000-05-01  0:00                                                 ` Michael P. Walsh
2000-05-01  0:00                                                   ` Pat Rogers
2000-05-01  0:00                                                     ` E. Robert Tisdale
2000-05-02  0:00                                                       ` Bill Greene
2000-05-01  0:00                                             ` David Starner
2000-05-01  0:00                                               ` David Starner
2000-05-01  0:00                                               ` Florian Weimer
2000-05-01  0:00                                                 ` Ted Dennison
2000-05-01  0:00                                                   ` Tarjei Tj�stheim Jensen
2000-05-01  0:00                                                     ` Ted Dennison
2000-05-02  0:00                                                       ` Florian Weimer
2000-05-02  0:00                                                       ` Preben Randhol
2000-05-02  0:00                                                   ` Application in Ada (was Desirability of C++) Jean-Pierre Rosen
2000-05-02  0:00                                                     ` Ted Dennison
2000-05-02  0:00                                                       ` Jean-Pierre Rosen
2000-05-03  0:00                                                       ` Tarjei Tj�stheim Jensen
2000-05-03  0:00                                                         ` Ted Dennison
2000-05-01  0:00                                                 ` Desirability of C++ David Starner
2000-05-01  0:00                                                 ` Lionel Draghi
2000-05-02  0:00                                                   ` Florian Weimer
2000-05-01  0:00                                                 ` tmoran
2000-05-01  0:00                                               ` Pat Rogers
2000-05-01  0:00                                                 ` Ted Dennison
2000-05-01  0:00                                                   ` E. Robert Tisdale
2000-05-01  0:00                                                     ` Gautier
2000-05-01  0:00                                                     ` Pat Rogers
2000-05-01  0:00                                         ` Hyman Rosen
2000-05-01  0:00                                           ` Tarjei Tj�stheim Jensen
2000-05-01  0:00                                             ` tmoran
2000-05-02  0:00                                               ` Al Christians
2000-05-02  0:00                                               ` Gautier
2000-05-02  0:00                                                 ` Jean-Pierre Rosen
2000-05-02  0:00                                                   ` Gautier
2000-05-02  0:00                                                     ` Jean-Pierre Rosen
2000-05-03  0:00                                                       ` Robert A Duff
2000-05-03  0:00                                                         ` Jean-Pierre Rosen
2000-05-03  0:00                                                       ` Marin D. Condic
2000-05-03  0:00                                                         ` Jean-Pierre Rosen
2000-05-03  0:00                                                           ` Wes Groleau
2000-05-04  0:00                                                         ` Robert I. Eachus
2000-05-05  0:00                                                           ` Marin D. Condic
2000-05-02  0:00                                                     ` Robert A Duff
2000-05-03  0:00                                                       ` Tarjei T. Jensen
2000-05-03  0:00                                                         ` Pascal Obry
2000-05-03  0:00                                                           ` Paul Graham
2000-05-03  0:00                                                             ` Pascal Obry
2000-05-03  0:00                                                               ` Paul Graham
2000-05-03  0:00                                                                 ` Robert A Duff
2000-05-04  0:00                                                               ` Ole-Hjalmar Kristensen
2000-05-04  0:00                                                                 ` Pascal Obry
2000-05-04  0:00                                                                 ` Preben Randhol
2000-05-04  0:00                                                                   ` Ole-Hjalmar Kristensen
2000-05-04  0:00                                                                     ` Preben Randhol
2000-05-05  0:00                                                             ` Gautier
2000-05-04  0:00                                                           ` Ole-Hjalmar Kristensen
2000-05-03  0:00                                                         ` Robert A Duff
2000-05-03  0:00                                                           ` Delphi Strings (was Re: Desirability of C++) Ray Blaak
2000-05-03  0:00                                                       ` Desirability of C++ Robert I. Eachus
2000-05-03  0:00                                                         ` Robert A Duff
2000-05-04  0:00                                                           ` Robert I. Eachus
2000-05-02  0:00                                               ` Tarjei T. Jensen
2000-05-02  0:00                                                 ` Preben Randhol
2000-05-02  0:00                                                   ` Keith Thompson
2000-05-02  0:00                                                   ` Strings TP/Ada (was Desirability of C++) Gautier
2000-05-03  0:00                                                   ` Desirability of C++ Tarjei T. Jensen
2000-05-03  0:00                                                     ` Robert A Duff
2000-05-02  0:00                                             ` Gautier
2000-05-01  0:00                                           ` Gautier
2000-05-01  0:00                                             ` Brian Rogoff
2000-05-02  0:00                                               ` Gautier
2000-05-02  0:00                                             ` Ole-Hjalmar Kristensen
2000-05-02  0:00                                           ` Richard D Riehle [this message]
2000-05-01  0:00                                         ` Marin D. Condic
2000-05-01  0:00                                       ` Ted Dennison
2000-05-01  0:00                                       ` Tarjei Tj�stheim Jensen
2000-05-01  0:00                                         ` Gautier
2000-05-01  0:00                                         ` Pascal Obry
2000-05-01  0:00                                           ` Gautier
2000-05-01  0:00                                             ` Ted Dennison
2000-05-01  0:00                                           ` Tarjei Tj�stheim Jensen
2000-05-07  0:00                                       ` ANTHONY GAIR
2000-05-07  0:00                                         ` Richard D Riehle
2000-05-07  0:00                                           ` ANTHONY GAIR
2000-05-08  0:00                                             ` Pascal Obry
2000-05-08  0:00                                               ` Ehud Lamm
2000-05-08  0:00                                                 ` Larry Kilgallen
2000-05-08  0:00                                           ` Stanley R. Allen
2000-05-09  0:00                                             ` Richard D Riehle
2000-05-08  0:00                                           ` Mario Klebsch
2000-05-08  0:00                                             ` E. Robert Tisdale
2000-05-08  0:00                                               ` Gautier
2000-05-09  0:00                                               ` Stanley R. Allen
2000-05-10  0:00                                                 ` Alfred Hilscher
2000-05-10  0:00                                                 ` Mario Klebsch
2000-05-07  0:00                                         ` Robert Dewar
2000-05-07  0:00                                         ` Hyman Rosen
2000-05-07  0:00                                           ` ANTHONY GAIR
2000-05-08  0:00                                             ` Hyman Rosen
2000-05-09  0:00                                               ` Pascal Obry
2000-05-11  0:00                                             ` wv12
2000-05-11  0:00                                               ` Frank J. Lhota
2000-05-11  0:00                                               ` Warner Bruns
2000-05-18  0:00                                                 ` Warner Bruns
2000-05-19  0:00                                                   ` ANTHONY GAIR
2000-05-24  0:00                                                   ` Richard Kenner
2000-05-18  0:00                                                 ` ANTHONY GAIR
2000-05-01  0:00                                     ` Tarjei Tj�stheim Jensen
2000-05-01  0:00                                 ` Ken Garlington
2000-04-29  0:00                         ` Ada on International Space Station (Re: where can we get a job with ada) Chris Johnston
2000-05-01  0:00                           ` Ted Dennison
     [not found]                       ` <7EA1B852F5D4D8C6.26EEE9181C8Reply-To: Kilgallen@eisner.decus.org.nospam <Ij4OaidfGTH8@eisner.decus.org>
2000-05-01  0:00                         ` Desirability of C++ E. Robert Tisdale
2000-05-01  0:00                       ` Larry Kilgallen
2000-03-05  0:00                 ` where can we get a job with ada Ted Dennison
2000-03-22  0:00                 ` Florian Weimer
2000-03-05  0:00               ` David Kristola
2000-02-04  0:00 ` Stanley R. Allen
2000-02-04  0:00   ` Stanley R. Allen
2000-02-06  0:00 ` David Tannen
replies disabled

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