Article View: net.arch
Article #2445Re: Re: 68k dbcc
From: jc
Date: Mon, 28 Apr 1986 14:35
Date: Mon, 28 Apr 1986 14:35
52 lines
2787 bytes
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!jcReferences:
<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