Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site mips.UUCP Path: utzoo!linus!decvax!decwrl!Glacier!mips!mash From: mash@mips.UUCP (John Mashey) Newsgroups: net.arch Subject: Re: What I miss ... (really, subscript checks, uninitialized data) Message-ID: <202@mips.UUCP> Date: Sat, 5-Oct-85 15:30:27 EDT Article-I.D.: mips.202 Posted: Sat Oct 5 15:30:27 1985 Date-Received: Mon, 7-Oct-85 06:51:06 EDT References: <796@kuling.UUCP> <2580002@csd2.UUCP> <191@graffiti.UUCP> <276@watmum.UUCP> Organization: MIPS Computer Systems, Mountain View, CA Lines: 37 A long sequence of dicsussion got started by: > 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? > >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. 1) Like everything else, doing subscript-checks and uninitialzied data checks at run-time is a tradeoff: is it worth the cost or not? Some of the arguments that have been going on here fall into the domain-confusion problem, most ofwhich would go away if people preferenced what they say by noting what domain it applies to. For example, subscript-checking might not be worthwhile in a PC games program. It might be elsewhere. 2) Good compiler technology can do fairly well at giving subscript-checking and (some) uninitialized-variabel checking for nearly free; any good global dataflow optimizer already has most ofthe data to do this. 3) It is unrealistic to think that systems must give up and die just because they discover an internal error. I'm sure there are many counterexamples, but there is one obvious one whose existence is familair to most people, i.e., the telephone system's electronic switching machines. They commonly use error-detection/repair strategies that have multipl levels, i.e., if something minor goes wrong, they don't worry too much about zapping one conversation; as damage is progressively worse, they might work all the way up to a full reboot (anathema). This approach is 20 years old; a recent reference appeared in the latest ATT Technical Journal on #5ESS. I urge people to study old technology and uses thereof before claiming nonexistence. -- -john mashey UUCP: {decvax,ucbvax,ihnp4}!decwrl!mips!mash DDD: 415-960-1200 USPS: MIPS Computer Systems, 1330 Charleston Rd, Mtn View, CA 94043