comp.lang.ada
 help / color / mirror / Atom feed
From: Hyman Rosen <hyrosen@mail.com>
Subject: Re: Boeing and Dreamliner
Date: Tue, 01 Jul 2003 05:31:20 GMT
Date: 2003-07-01T05:31:20+00:00	[thread overview]
Message-ID: <I09Ma.2595$tw3.1703@nwrdny02.gnilink.net> (raw)
In-Reply-To: <3F00E081.898E3C4A@adaworks.com>

Richard Riehle wrote:
 > In C++ it is perfectly legal to do all kinds of assignment statements
 > where the result is not entirely predictable.

I'm not sure what you mean by this. If you're talking about order
of evaluation, Ada has the same lack of predictability, although
Java does not.

> A key difference between Ada and many other languages is
> the absence of structural equivalence in favor of named equivalence.

Again, I don't know how this applies to C++, except for one case I
can think of - a union with record members all of which share the
identical set of leading fields. X Window uses this feature to allow
access to the type of an event.

> Also, unchecked assignment (Unchecked_Conversion) only permits
 > assignment in the direction for which it is instantiated.
 > This eliminates many kinds of errors.

It's true that C and C++ allow interconversion between the basic
arithmetic types without requiring an explicit conversion, but I've
never noticed it as being a particularly fruitful source of errors.
Compilers are perfectly happy to whinge about these if you ask them
to, in any case.

> Quite simply, the amount of error checking performed by an Ada compiler
> is substantially greater than in C++.   This does not mean C++ is evil.  It
> simply means it is inappropriate for software that demands a high level of
> dependability, especially when one has Ada available as an option.

Proponents of SPARK have argued that plain Ada contains ten times as many
errors as SPARK code, so I suppose the continued use of plain Ada means that
its practitioners realize that their code does not demand that much
dependability.

> C++ is more dangerous for safety-critical software than Ada.

You are most likely correct. But Java provides many of the same sorts
of error checking - pointer access and bounds checking - that Ada does,
and with garbage collection, doesn't offer the possibility of an
unchecked deallocation sending code astray. So maybe it's better than
Ada?

> I know you are a skilled and experienced C++ developer.   Does it not
> occur to you that simple little things such as automatic type promotion,
> incorrect placement of curly braces, and errors in pointer arithmetic,
> to name a few issues, might result in questionable code?

They might, especially pointer arithmetic. I doubt that the others ever
affect real code, althouggh it's obviously possible to concoct examples.
But pointer arithmetic is used for processing within arrays. Ada will
catch you if you step off the ends and C won't, but if you have a muddle
in the middle, you can have it with indexes as well as with pointers.

> What about incorrectly defined destructors?

But Ada has finalizers which can be equally wrong.

> Or default assignment operations?

Ada has default bitwise assignment too. You can turn it off in Ada,
abd you can turn it off in C++.

> Or many more such entertaining features of C++ that add power, but
> also add the potential for undetected errors?   You know the list is
> even longer than the one I just presented.

I guess it's like riding a motorcycle.




  reply	other threads:[~2003-07-01  5:31 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-20  3:18 Boeing and Dreamliner Robert Love
2003-06-20 10:29 ` Larry Kilgallen
2003-06-21  2:20   ` Mark A. Biggar
2003-06-23 10:45     ` Robert Kaiser
2003-06-23 11:43       ` Larry Kilgallen
2003-06-23 12:21         ` Martin Dowie
2003-06-23 12:23           ` Larry Kilgallen
2003-06-23 13:02             ` Martin Dowie
2003-06-23 13:02         ` Robert Kaiser
2003-06-20 14:44 ` Matt Brenneke
2003-06-20 17:23   ` Wojtek Narczynski
2003-06-21  4:28     ` rleif
2003-06-22  3:56       ` Hyman Rosen
2003-06-22  9:15         ` Preben Randhol
2003-06-23 18:00           ` Mike Silva
2003-06-22 11:51         ` Larry Kilgallen
2003-06-22 13:37           ` Marin David Condic
2003-06-22 15:06             ` James Rogers
2003-06-22 15:52               ` Dmitry A. Kazakov
2003-06-22 18:18                 ` Tino Goertemoeller
2003-06-23  3:26               ` John R. Strohm
2003-06-23  5:54                 ` Robert I. Eachus
2003-06-23 10:12                   ` Understanding and Teaching: Who may teach Ada? Georg Bauhaus
2003-06-24  1:34                     ` Robert I. Eachus
2003-06-24 12:13                       ` Georg Bauhaus
2003-06-25  2:59                     ` John R. Strohm
2003-06-25  4:44                       ` Wesley Groleau
2003-06-25  5:55                         ` Anders Wirzenius
2003-06-25 14:03                       ` Georg Bauhaus
2003-06-23 21:08                   ` Boeing and Dreamliner Alexander Kopilovitch
2003-06-24  3:16                     ` Robert I. Eachus
2003-06-23 15:40                 ` Wesley Groleau
2003-06-23  5:04               ` rleif
2003-06-22 18:07           ` Frank J. Lhota
2003-06-23  9:32           ` AG
2003-06-23 11:12             ` Larry Kilgallen
2003-06-27 16:30             ` Richard Riehle
2003-06-22 15:10         ` Vinzent Hoefler
2003-06-22 18:22         ` Robert I. Eachus
2003-06-23 18:24           ` Mike Silva
2003-06-24  2:13           ` Alexander Kopilovitch
2003-06-24  2:35             ` Hyman Rosen
2003-06-24  5:22               ` Mike Silva
2003-06-24  6:14                 ` Hyman Rosen
2003-06-24  6:38                   ` tmoran
2003-06-24 13:08                     ` Hyman Rosen
2003-06-24 17:59                       ` tmoran
2003-06-24 18:01                       ` Mike Silva
2003-06-25 11:50                         ` Marin David Condic
2003-06-24 10:56                   ` Preben Randhol
2003-06-24 13:04                     ` Hyman Rosen
2003-06-24 20:54                   ` Pascal Obry
2003-06-24 12:06                 ` Marin David Condic
2003-06-24 13:12                   ` Hyman Rosen
2003-06-24 14:20                     ` Larry Kilgallen
2003-06-24 14:33                     ` Vinzent Hoefler
2003-06-24 20:37                     ` Alexander Kopilovitch
2003-06-25 11:58                     ` Marin David Condic
2003-06-24  7:10               ` Robert I. Eachus
2003-06-24  7:35                 ` Hyman Rosen
2003-06-24 17:29                   ` Robert I. Eachus
2003-06-27 17:15                     ` Richard Riehle
2003-06-27 17:31                       ` Warren W. Gay VE3WWG
2003-06-28  1:27                         ` Wesley Groleau
2003-06-28  6:32                           ` Robert I. Eachus
2003-06-27 17:38                       ` Preben Randhol
2003-06-28  2:18                       ` Alexander Kopilovitch
2003-06-24 16:35                 ` Warren W. Gay VE3WWG
2003-06-24 10:48               ` Preben Randhol
2003-06-24 13:16                 ` Hyman Rosen
2003-06-24 14:49                   ` Preben Randhol
2003-06-24 22:48                   ` Wesley Groleau
2003-06-25  0:41                     ` Hyman Rosen
2003-06-25 10:28                       ` Dmitry A. Kazakov
2003-06-25 21:15                         ` Robert I. Eachus
2003-06-26  2:30                           ` Alexander Kopilovitch
2003-06-27 17:19                           ` Richard Riehle
2003-06-25 18:00                       ` Mike Silva
2003-06-24  6:22             ` Robert I. Eachus
2003-06-24 13:21               ` Hyman Rosen
2003-06-24 16:38                 ` 
2003-06-24 18:00                 ` Robert I. Eachus
2003-06-26  2:00               ` Alexander Kopilovitch
2003-06-26 19:12                 ` Robert I. Eachus
2003-06-27  2:21                   ` Alexander Kopilovitch
     [not found]         ` <ts6hs-vk4.ln1@beastie.ix.netcom.com>
2003-06-22 18:59           ` Simon Wright
2003-06-23 18:20         ` Pascal Obry
2003-06-25  8:08         ` Thierry Lelegard
2003-06-27 16:24         ` Richard Riehle
2003-06-27 16:31           ` Hyman Rosen
2003-06-27 18:08             ` Robert I. Eachus
2003-06-27 19:00               ` Hyman Rosen
2003-06-28  0:33             ` Alexander Kopilovitch
2003-06-29  6:54               ` Hyman Rosen
2003-06-29  8:30                 ` AG
2003-06-29 16:06                 ` Chad R. Meiners
2003-06-29 20:20                   ` Hyman Rosen
2003-06-30 13:50                     ` Alexander Kopilovitch
     [not found]                     ` <t9i7t-0i3.ln1@beastie.ix.netcom.com>
2003-07-01 11:55                       ` Marin David Condic
2003-07-02 15:02                         ` rleif
2003-07-03  7:38                       ` Robert I. Eachus
2003-06-29 16:56                 ` Alexander Kopilovitch
2003-06-29 20:22                   ` Hyman Rosen
2003-06-29 21:09                     ` Larry Kilgallen
2003-06-29 21:19                       ` Hyman Rosen
2003-06-29 21:31                         ` Larry Kilgallen
2003-06-29 21:39                           ` Hyman Rosen
2003-06-30  0:07                             ` Berend de Boer
2003-06-29 18:26                 ` Richard Riehle
2003-06-29 20:45                   ` Hyman Rosen
2003-06-30 15:55                     ` Warren W. Gay VE3WWG
2003-07-04  0:21                       ` Dave Thompson
2003-07-04 16:42                         ` Warren W. Gay VE3WWG
2003-07-01  1:08                     ` Alexander Kopilovitch
2003-07-03 16:43                       ` Warren W. Gay VE3WWG
2003-07-01  1:14                     ` Richard Riehle
2003-07-01  5:31                       ` Hyman Rosen [this message]
2003-07-01  7:30                         ` Dmitry A. Kazakov
2003-07-01 12:57                           ` John R. Strohm
2003-07-04  3:56                             ` Wesley Groleau
2003-07-04  5:05                               ` Robert I. Eachus
2003-06-21 12:55   ` Pascal Obry
2003-06-20 19:59 ` Jeffrey Carter
2003-06-20 22:40   ` Mark Lorenzen
2003-06-20 21:21     ` Jeffrey Carter
2003-06-21  4:28     ` rleif
2003-06-21  8:05     ` Preben Randhol
2003-06-21 10:32       ` Bobby D. Bryant
2003-06-21 10:44         ` Preben Randhol
2003-06-23 16:57           ` Warren W. Gay VE3WWG
replies disabled

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