comp.lang.ada
 help / color / mirror / Atom feed
From: Alan Brain <aebrain@dynamite.com.au>
Subject: Re: C/C++ knocks the crap out of Ada
Date: 1996/03/17
Date: 1996-03-17T00:00:00+00:00	[thread overview]
Message-ID: <4ifst3$bav@fred.netinfo.com.au> (raw)
In-Reply-To: DoDq5n.40@world.std.com

bobduff@world.std.com (Robert A Duff) wrote:

>I understand and agree with that.  There are lots of folks going around
>denying that they themselves put bugs in their code, so where does all
>this buggy software I use every day come from !?  But that's not the
>*only* thing I see in this thread.  I also see some bogus claims about
>how Ada will walk on water and raise the dead.

Guess I've been guilty of this latter in the past - at least, according to 
many people who should know.

I find myself in a quandary though: unlike a lot of the contributors, I've 
actually worked with multiple Ada projects, and multiple C projects, and 
even more projects that were mixed. And the results I reported were the 
ones actually experienced. e.g. one case where a fault in the design of a 
CPU caused problems that the Ada run-time checks were able to detect, even 
though the fault caused essentially branches to random parts of the 
memory. In theory, of course, no language could cope with such a 
situation 'absolutely and at all times': in practice though, it could and 
did cope with it for months. 'Cope' is the word. Abnormal functionality, 
slow functionality, hiccups, but nothing fatal. In Practice, with 
sufficient error-checking, it doesn't matter that something really, really 
nasty happens for a short time: the error will soon grow so huge in 
ramifications that an inconsistency will be detected ( ie in C a Coredump) 
and you can rewind. Yes, it requires programmers who know what they're 
doing, the facilities in Ada 83 are NECCESSARY but not SUFFICIENT in the 
mathematical sense of the terms.

Our metrics showed a good rule-of-thumb was that 5% of CPU time was 
'wasted' doing error-checks, assuming pragmas in place for letting the 
compiler optimise out impossible cases. I forget what the ratio was when 
no optimisation was performed - 15% sounds about right, but don't quote 
me. I always preferred the latter though, as forex the 'branch randomly' 
error adduced above would not have been caught and worked around so easily 
(easily he says, HA! it was farnarckling painful) without it.

I always have a cold shiver when I hear that 'of course we pragma'd out 
the run-time checking in the production system'. 5% better performance is 
generally not that critical - if it is, start reaching for a new CPU, as 
the additional functionality you're gonna need in the maintenance phase 
will eat that up in a week or two.

FYI the chip was the d-stepping of the i860 , rev 4, the error occurred 
when paging was enabled, caching was enabled, and an integer was loaded 
into the floating-point processor within 16 instructions of an operation 
on it, and where an interrupt occurred. It clobbered the interrupt return 
address register, so you'd return pretty much anywhere...

I get the feeling whenever I make such a 'walk-on-water' outrageous claim, 
'Ada 83 (helps to) Solves Chip Design Fault!' I'd better give 
Chapter-and-Verse, as above. Yet it did happen, what am I to do, claim it 
didn't, just to add credibility?
   





  parent reply	other threads:[~1996-03-17  0:00 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <DoBFpD.Htx@world.std.com>
1996-03-15  0:00 ` C/C++ knocks the crap out of Ada Richard Pitre
1996-03-15  0:00   ` Robert A Duff
     [not found]     ` <4icqe6$9v@ra.nrl.navy.mil>
     [not found]       ` <DoDq5n.40@world.std.com>
1996-03-16  0:00         ` Richard Pitre
1996-03-16  0:00         ` Richard Pitre
1996-03-17  0:00         ` Alan Brain [this message]
     [not found] <4jf3dg$8jm@ra.nrl.navy.mil>
1996-03-30  0:00 ` Jon S Anthony
     [not found] <9603041841.AA18366@eight-ball>
     [not found] ` <4hg318$nup@ra.nrl.navy.mil>
1996-03-23  0:00   ` Carl J R Johansson
1996-03-23  0:00     ` Robert Dewar
1996-03-29  0:00     ` Richard Pitre
     [not found] <DoInIF.HtK@world.std.com>
1996-03-19  0:00 ` Richard Pitre
     [not found] <00001a73+00002504@msn.com>
     [not found] ` <313EDF38.61C1@lfwc.lockheed.com>
     [not found] ` <4etcmm$lpd@nova.dimensional.com>
     [not found]   ` <4f4ptt$a1c@newsbf02.news.aol.com>
     [not found]     ` <4g1b7n$l5@mailhub.scitec.com.au>
     [not found]       ` <4g577o$28r@newsbf02.news.aol.com>
1996-02-17  0:00         ` Ell
1996-02-17  0:00       ` Robert Dewar
     [not found]       ` <3124B2F3.6D21@escmail.orl.mmc.com>
1996-02-19  0:00         ` Ramses Youhana
1996-02-19  0:00           ` Ted Dennison
1996-02-19  0:00       ` Adam Morris
1996-02-19  0:00         ` Ian S. Nelson
     [not found]       ` <JSA.96Feb16135027@organon.com>
     [not found]         ` <313D4D00.875@ix.netcom.com>
1996-02-19  0:00         ` Mike Stark
1996-02-20  0:00           ` Ed Franks
1996-02-21  0:00             ` Matthew M. Lih
1996-02-22  0:00               ` Ted Dennison
1996-02-25  0:00                 ` Thomas G. McWilliams
1996-02-25  0:00                   ` Robert Dewar
1996-02-25  0:00                   ` vancleef
1996-02-26  0:00                     ` Matthew M. Lih
1996-02-22  0:00             ` Bill Lee
1996-02-25  0:00               ` Ed Franks
     [not found]         ` <4hf701INNdl7@keats.ugrad.cs.ubc.ca>
     [not found]           ` <4hm6lo$eln@fred.netinfo.com.au>
     [not found]             ` <4hml8s$a1q@solutions.solon.com>
1996-03-15  0:00               ` Robert A Duff
1996-03-15  0:00                 ` Kazimir Kylheku
     [not found]         ` <DnuGrG.JrE@news.thomson-lcr.fr>
     [not found]           ` <4hl082INNc7d@keats.ugrad.cs.ubc.ca>
1996-03-15  0:00             ` AdaWorks
1996-03-15  0:00               ` Kazimir Kylheku
1996-03-18  0:00                 ` Matt Kennel
     [not found]         ` <adaworksDnrqsE.LpC@netcom.com>
     [not found]           ` <4hhred$1rn@sun152.spd.dsccc.com>
     [not found]             ` <4i19mg$vkt@azure.dstc.edu.au>
     [not found]               ` <4i4cf2$crm@sun152.spd.dsccc.com>
1996-03-15  0:00                 ` AdaWorks
1996-03-18  0:00                   ` Kevin Cline
1996-03-19  0:00                     ` Kazimir Kylheku
1996-03-20  0:00                       ` Kevin Cline
1996-03-20  0:00                         ` Richard Pitre
1996-03-21  0:00                         ` Kazimir Kylheku
1996-03-20  0:00                     ` AdaWorks
1996-03-22  0:00                       ` Kevin Cline
1996-03-22  0:00                         ` AdaWorks
1996-03-22  0:00                         ` David Weller
1996-03-26  0:00                     ` Ed Falis
1996-03-28  0:00                       ` Kevin Cline
1996-04-04  0:00                       ` Jon S Anthony
1996-03-26  0:00                     ` Jon S Anthony
1996-03-26  0:00                       ` Robert Dewar
1996-03-21  0:00                   ` Jon S Anthony
1996-03-22  0:00                     ` Kevin Cline
1996-03-21  0:00               ` Jon S Anthony
1996-03-22  0:00                 ` Kevin Cline
1996-03-30  0:00                   ` Jon S Anthony
1996-04-01  0:00                     ` Kevin Cline
1996-04-02  0:00                       ` Lawrence Kirby
1996-04-02  0:00                         ` Tom Payne
     [not found]   ` <BYERLY_J.96Feb7170158@srm9.motsat.sat.mot.com>
1996-02-19  0:00     ` Ramses Youhana
     [not found]     ` <1996Feb10.111307.113714@kuhub.cc.ukans.edu>
1996-02-21  0:00       ` AdaWorks
1996-02-20  0:00   ` Jon S Anthony
1996-02-20  0:00     ` Robert Dewar
1996-02-22  0:00     ` Matt Kennel
1996-02-20  0:00   ` Ted Dennison
1996-02-22  0:00     ` Robert Dewar
1996-02-20  0:00   ` Jon S Anthony
1996-02-20  0:00   ` Ken Garlington
1996-02-21  0:00     ` Robert S. White
1996-02-20  0:00   ` Lee Graba
1996-02-21  0:00     ` Mark A Biggar
1996-02-20  0:00   ` Ketil Z Malde
1996-02-21  0:00     ` Dirk Dickmanns
1996-02-21  0:00       ` 
1996-02-21  0:00       ` David Weller
1996-02-22  0:00       ` Gene Ouye
1996-02-21  0:00     ` Robert Dewar
1996-02-25  0:00       ` Andrew Koenig
1996-02-22  0:00     ` Bill Lee
1996-02-22  0:00     ` Gary McKee
1996-02-20  0:00   ` Jon S Anthony
     [not found]   ` <4gaa <4gd94r$isu@mack.rt66.com>
1996-02-21  0:00     ` Nasser Abbasi
1996-02-21  0:00       ` David Weller
1996-02-21  0:00   ` Jon S Anthony
1996-02-21  0:00   ` Ken Garlington
1996-02-22  0:00   ` Ketil Z Malde
1996-02-22  0:00   ` Jon S Anthony
     [not found]   ` <3114d8fb.5a455349@zesi.ruhr.de>
     [not found]     ` <4f5h5t$f13@vixen.cso.uiuc.edu>
     [not found]       ` <4g1bgf$l5@mailhub.scitec.com.au>
1996-02-17  0:00         ` Robert Dewar
1996-02-17  0:00         ` Tuishimi
     [not found]         ` <312515DF.7D3B@cmlj.demon.co.uk>
     [not found]           ` <4g3d70$nnn@queeg.apci.net>
1996-02-17  0:00             ` Chris Littlejohns
1996-02-18  0:00           ` ++           robin
1996-02-17  0:00             ` Robert Dewar
1996-02-19  0:00             ` Richard A. O'Keefe
1996-02-20  0:00               ` Robert Dewar
1996-02-22  0:00                 ` Richard A. O'Keefe
1996-02-22  0:00                   ` Ken Garlington
1996-02-22  0:00                     ` Ted Dennison
1996-02-19  0:00           ` Pete Becker
1996-02-20  0:00             ` Nasser Abbasi
1996-02-20  0:00               ` Andrew Koenig
1996-02-21  0:00                 ` Jay Martin
1996-02-21  0:00                 ` Nasser Abbasi
1996-02-25  0:00                   ` J Greene
1996-02-26  0:00                     ` Peter Finney
     [not found]             ` <4 <dirk.824894312@demokrit>
1996-02-21  0:00               ` Nasser Abbasi
1996-02-26  0:00                 ` Matthew B. Kennel
1996-02-27  0:00                   ` Robert Dewar
1996-02-27  0:00                     ` ron thompson
     [not found]             ` <4ggshe$7bk@go <4gh5r8$i2@mailhub.scitec.com.au>
1996-02-22  0:00               ` Nasser Abbasi
1996-02-22  0:00                 ` Robert Dewar
1996-02-23  0:00                 ` Richard A. O'Keefe
1996-02-22  0:00             ` Richard A. O'Keefe
1996-02-22  0:00               ` Ramses Youhana
1996-02-24  0:00               ` Ray Toal
1996-02-24  0:00                 ` JR Crosmer
1996-02-27  0:00                   ` Richard A. O'Keefe
1996-02-24  0:00                 ` Robert Dewar
1996-02-26  0:00                 ` James O'Connor
1996-02-23  0:00             ` Tom Payne
     [not found]         ` <4g2vn3$rgi@dfw.dfw.net>
1996-02-18  0:00           ` Robert Dewar
1996-02-19  0:00             ` AdaWorks
1996-02-23  0:00             ` Ghost In The Machine
1996-02-24  0:00               ` Robert Dewar
1996-02-25  0:00                 ` Ghost In The Machine
1996-02-19  0:00           ` Ramses Youhana
1996-02-19  0:00             ` Ian S. Nelson
1996-02-21  0:00             ` Peter Seebach
1996-02-19  0:00         ` Richard A. O'Keefe
1996-02-21  0:00           ` Peter Seebach
1996-02-21  0:00           ` Peter Seebach
1996-02-21  0:00           ` Ramses Youhana
1996-02-20  0:00     ` Matt Austern
1996-02-20  0:00     ` Ketil Z Malde
1996-02-23  0:00     ` Matthias Blume
1996-02-25  0:00       ` Robert Dewar
1996-02-26  0:00   ` Matt Austern
1996-02-26  0:00   ` Matt Austern
1996-03-15  0:00 ` Kazimir Kylheku
1996-03-16  0:00   ` Jay Martin
1996-03-17  0:00     ` Kazimir Kylheku
1996-03-19  0:00     ` Sheldon White
1996-03-20  0:00       ` Jay Martin
     [not found] ` <Pine.A32.3.91.960313165249.124278B-100000@red.weeg.uiowa.edu>
     [not found]   ` <4i9ld6$m2v@rational.rational.com>
     [not found]     ` <4iah20$p7k@saba.info.ucla.edu>
1996-03-15  0:00       ` Kazimir Kylheku
1996-03-15  0:00       ` Kazimir Kylheku
1996-03-15  0:00         ` Jay Martin
1996-03-15  0:00       ` Peter Seebach
1996-03-15  0:00       ` Ian Johnston (by ubsswop)
1996-03-16  0:00       ` Zsoter Andras
1996-03-19  0:00         ` Kazimir Kylheku
1996-03-21  0:00         ` Glenn H. Porter
1996-03-16  0:00 ` Jay Martin
1996-03-20  0:00   ` David Taylor
     [not found] ` <31442F19.6C13@lfwc.lockheed.com>
     [not found]   ` <4i26uhINNsd@keats.ugrad.cs.ubc.ca>
     [not found]     ` <31457584.2475@lfwc.lockheed.com>
1996-03-21  0:00       ` Ron Collins
     [not found]       ` <4i4s5f$igc@solutions.solon.com>
     [not found]         ` <3146E324.5C1E@lfwc.lockheed.com>
     [not found]           ` <4i98gg$8n1@solutions.solon.com>
     [not found]             ` <Do9tMv.2p3@world.std.com>
     [not found]               ` <4ia41k$e04@solutions.solon.com>
1996-03-18  0:00                 ` Norman H. Cohen
1996-03-19  0:00                 ` Charles H. Sampson
1996-03-19  0:00                   ` Peter Seebach
     [not found]           ` <Pine.A32.3.91.960313165249.124278B-100000@ <4ic92p$2fa@ubszh.fh.zh.ubs.com>
1996-03-29  0:00             ` mich
1996-02-19  0:00 Simon Johnston
     [not found] <19960206T135716Z@arcana.naggum.no>
1996-02-17  0:00 ` Tuishimi
1996-02-17  0:00 ` Tuishimi
     [not found] <4fm9d8$mgs@azure.dstc.edu.au>
1996-02-17  0:00 ` Tuishimi
     [not found] <4fnv2r$n84@stc06.ctd.ornl.gov>
1996-02-17  0:00 ` Tuishimi
     [not found] <DMnEAz.ADn@research.att.com>
1996-02-17  0:00 ` Tuishimi
1996-02-19  0:00   ` Norman H. Cohen
     [not found] <JSA.96Feb7021245@organon.com>
1996-02-17  0:00 ` Tuishimi
replies disabled

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