🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.arch
Article #2445

Re: Re: 68k dbcc

#2445
From: jc
Date: Mon, 28 Apr 1986 14:35
52 lines
2787 bytes
[This is a test to see if the f- command works on our 
newly-installed usenet site.]

> > The lesson here is don't ever say "Nobody will ever try X" with an instruction
> > set.
> 
> I suspect the "minimize the number of architects" principle that Brooks
> mentions in "The Mythical Man Month" is actually a symptom of this
> approach.  When you have one architect (or a small number of them), 
> they are somewhat forced to design axiomatically, simply in order to
> reduce the complexity of the design.  

True, but even single-architect designs often show the same problems.
There's nothing that ensures that a single designer won't fall for the
"Nobody will every try X" fallacy.  And even if the designer understands,
there's nothing to prevent implementations to fall short, especially
when porting to a new machine by people who barely understand the innards
of what they're porting.

A nice example that bit me recently was a program on SYS/V that went
crazy, eating up cycles but never doing anything.  It looked like the
traditional infinite loop, but I could show "logically" that it wasn't
possible, since there was output generated by even the innermost loops.

The problems turned out to be a call of sleep(n), where n turned out
to be zero in a few cases.  It doesn't work right.  You have to say
	if (n > 0) sleep(n);
and note the "> 0"; it'd better be there!  

Just try getting a bug like this fixed, and you'll appreciate what
can be done to you by low-level coders.  "That's silly, nobody with
any sense would do a sleep(0)."  Well, maybe I don't have much sense,
but I understand why it's better for the system to do sleep(0) correctly
than to clutter up thousands of programs with "if (n > 0)" that is 
there just to get around a bug in a system call.  

Next they're going to make an add instruction that fails when either
operand is zero, because "It's silly to waste time adding zero to a
number."

[If you can read this, our readnews' "f-" command works.  If there
is nothing after this line, the .signature feature has failed.]
-- 
	John Chambers

	       /cthulhu\
	      / fps1    \
	     /  fps2     \         /root
	...!{   inmet     }!cdx39!{ jc
	     \  mot      /         \uucp
	      \ ucadmus /
	       \larry  / 
Technical Details
Message-ID: <133@cdx27.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!glacier!oliveb!hplabs!motsj1!motbos!cdx39!cdx27!jc
References: <1511@decwrl.DEC.COM> <5100028@ccvaxa>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!glacier!oliveb!hplabs!motsj1!motbos!cdx39!cdx27!jc
From: jc@cdx27.UUCP
Newsgroups: net.arch,net.micro.68k
Subject: Re: Re: 68k dbcc
Message-ID: <133@cdx27.UUCP>
Date: Mon, 28-Apr-86 10:35:16 EDT
Article-I.D.: cdx27.133
Posted: Mon Apr 28 10:35:16 1986
Date-Received: Sat, 3-May-86 19:40:51 EDT
References: <1511@decwrl.DEC.COM> <5100028@ccvaxa>
Lines: 52