Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/17/84 chuqui version 1.9 3/12/85; site unisoft.UUCP
Path: utzoo!watmath!clyde!cbosgd!ihnp4!qantel!dual!unisoft!phil
From: phil@unisoft.UUCP (phil ronzone)
Newsgroups: net.arch
Subject: Re: What I miss in micro-processors (fairly long)
Message-ID: <568@unisoft.UUCP>
Date: Wed, 25-Sep-85 03:37:44 EDT
Article-I.D.: unisoft.568
Posted: Wed Sep 25 03:37:44 1985
Date-Received: Sun, 29-Sep-85 05:48:45 EDT
References: <796@kuling.UUCP> <2580002@csd2.UUCP> <191@graffiti.UUCP>
Reply-To: phil@unisoft.UUCP (Phil Ronzone)
Organization: UniSoft Systems, Berkeley
Lines: 42

In article <191@graffiti.UUCP> peter@graffiti.UUCP (Peter da Silva) writes:
>> 	"...leaving range checks out is rather like practising sailing on
>> shore with life belts and then leaving them on shore come the moment.."
>> 
>> 	Knuth???
>> 
>> was it not the mariner probe that was lost due to a FORTRAN subscript error?
>> 
>> I agree with you to a point. For low-risk code leave them out, But for my 
>> money I would prefer to see the code 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? A better analogy, perhaps, would be...
>
>	"...like practicing sailing on shore with a mechanic [safety harness]
>and leaving it on shore come the moment..."
>
>...you no longer have anything to attach them to.

This is the kind of ``religous'' issue that probably ends up in net.flame,
but 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 .... :-) :-)

However - along these lines, there is a UNIX loader for a AT&T 3bx machine
that allows org'ing at 4K, to leave the first page no-read/no-write to
catch the hordes of AT&T invalid references to location 0.