Article View: net.arch
Article #2481Re: Re: 68k dbcc
From: jc%cdx27
Date: Mon, 28 Apr 1986 23:35
Date: Mon, 28 Apr 1986 23:35
52 lines
2752 bytes
2752 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>Path:
arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!pyramid!pesnta!hplabs!hpda!hpisoa2!hpitg!cdx27!jc@cdx27References:
<3479@sun>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!pyramid!pesnta!hplabs!hpda!hpisoa2!hpitg!cdx27!jc@cdx27 From: jc%cdx27@cdx27.UUCP Newsgroups: net.arch Subject: Re: Re: 68k dbcc Message-ID: <133@cdx27> Date: Mon, 28-Apr-86 19:35:00 EDT Article-I.D.: cdx27.133 Posted: Mon Apr 28 19:35:00 1986 Date-Received: Sun, 11-May-86 15:46:14 EDT References: <3479@sun> Lines: 52