Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 (Tek) 9/28/84 based on 9/17/84; site orca.UUCP
Path: utzoo!watmath!clyde!cbosgd!ihnp4!houxm!vax135!cornell!uw-beaver!tektronix!orca!jans
From: jans@orca.UUCP (Jan Steinman)
Newsgroups: net.arch,net.lang.ada
Subject: Re: What I miss... (really C, Ada, religion)
Message-ID: <1777@orca.UUCP>
Date: Sun, 29-Sep-85 14:21:10 EDT
Article-I.D.: orca.1777
Posted: Sun Sep 29 14:21:10 1985
Date-Received: Wed, 2-Oct-85 09:17:29 EDT
References: <796@kuling.UUCP> <2580002@csd2.UUCP> <191@graffiti.UUCP> <568@unisoft.UUCP>
Reply-To: jans@orca.UUCP (Jan Steinman)
Organization: Tektronix, Wilsonville OR
Lines: 50
Xref: watmath net.arch:1836 net.lang.ada:368

In article <568@unisoft.UUCP> phil@unisoft.UUCP (Phil Ronzone) writes:
>In article <191@graffiti.UUCP> peter@graffiti.UUCP (Peter da Silva) writes:
>>> ...was it not the mariner probe that was lost due to a FORTRAN subscript
>>> error?... for my money I would prefer to see the [range checking] in for
>>> systems like nuclear plants, MX missiles etc..
>>
>> What should the code do when a range-check occurs? Print out an error
>> message on ticker-tape & hang? Do nothing?
>
> ...as a decade-long C programmer, I find about every 3 years some
>``discussion'' with a proponent of a more-or-less highly typed language
>(Ada most recent) over the ``virtues'' of Ada and its error checking over
>(denigration inserted here) C.
>
>Shucks - but I still CAN'T see how much the poor pilot in an F16 with an
>Ada programmed fire-control computer is going to be as a Mig-27 bears down
>on him, and right when he hears the lock-on buzz to fire his own missile --
>
>     Ada runtime error 498: subscript i value 23 out of range for array x (20)
>
>I mean,
>   
>     Bus error - core dumped
>
>reads quicker and thus gives the pilot a faster ``oh shit'' response time
>to take evasive action .... :-) :-)

****** FLAME ALERT FLAME ALERT FLAME ALERT FLAME ALERT FLAME ALERT *****
As a decade-long generalist who enjoys trying and contrasting new things, I
find people who are willing to go public with their lack of knowledge about
things they are unwillng to try truly amazing!

Sorry, Phil, but you really miss the point.  With range checks, the programmer
can **anticipate** such errors.  Ada (in particular) allows multi-level
trapping of such exceptions, so nuclear war does not rest on a single low-level
module's ability to do something sane with exceptions.  I, for one, would much
rather prefer to write an exception handler that will do something useful and
sane than to simply let the OS dump core.

I've stirred these waters before, and received hate mail for it.  I respect
the opinion of C hackers who have studied Ada enough to be able to identify
it's real problems, but I've really lost patience with those whom are so
imbued with C that they cannot understand how things could be any different!

One with a decade of experience with stone axes has no concept of how a
chainsaw works.  Phil, go out and USE Ada for a year or two, then I'll listen.
-- 
:::::: Artificial   Intelligence   Machines   ---   Smalltalk   Project ::::::
:::::: Jan Steinman		Box 1000, MS 61-405	(w)503/685-2956 ::::::
:::::: tektronix!tekecs!jans	Wilsonville, OR 97070	(h)503/657-7703 ::::::