*BSD News Article 34173


Return to BSD News archive

Xref: sserve comp.os.386bsd.questions:12271 comp.os.386bsd.misc:3151
Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.misc
Path: sserve!newshost.anu.edu.au!munnari.oz.au!mel.dit.csiro.au!merlin!harbinger.cc.monash.edu.au!msuinfo!agate!howland.reston.ans.net!swrinde!news.dell.com!tadpole.com!uunet!brunix!mhw
From: mhw@cs.brown.edu (Mark Weaver)
Subject: Re: Whats wrong with Linux networking ???
Message-ID: <1994Aug11.062307.29008@cs.brown.edu>
Sender: news@cs.brown.edu
Organization: Brown University Department of Computer Science
References: <Cu8CBr.Fx@calcite.rhyolite.com> <CuACx4.Etu@rex.uokhsc.edu> <CuBw0A.Ayy@calcite.rhyolite.com> <32bfg0$sol@ra.nrl.navy.mil>
Date: Thu, 11 Aug 1994 06:23:07 GMT
Lines: 52

In article <32bfg0$sol@ra.nrl.navy.mil>,
Craig Metz <cmetz@sundance.itd.nrl.navy.mil> wrote:
>In article <CuBw0A.Ayy@calcite.rhyolite.com>,
>Vernon Schryver <vjs@calcite.rhyolite.com> wrote:
>>>	Even for the exercise itself, it is essential to do things over
>>>in order to see if it can be done better. Sometimes all that is gained in
>>>such a thing is insight into the problem. Sometimes room for improvement
>>>is found and the status quo is raised. The only thing that is certain is
>>>that not doing anything will certainly get you nowhere. 
>>
>>That's wrong as stated.  Only a student, amateur, or incompetent needs
>>to rewrite code "in order to see if it can be done better," "insight
>>into the problem," or see what to do to raise the status quo.
>
>	So, you are advocating never doing anything new?

Did you even bother reading his rebuttal?  It was quite clear.
Let me try.

He's saying that an experienced designer/programmer is able to
determine how to improve an implementation through design ALONE
(ie, before writing a single line of new code).  Once one knows
how to improve the design, THEN rewriting code can be a very good
thing.

If you have to fully implement something to know if it's going to
be better than the first, you probably haven't spent enough time
on the design phase, and thus are likely to produce an inferior
product.

For the most part, I agree with him.  There are exceptions though.

Occasionally, in research, it is necessary to try experimental
implementations because it is either impractical to predict the
behavior of a complex system or because one lacks certain necessary
statistical information.  However, in these cases the new design
has been well thought out and generally promises a potentially
significant reward.

As long as you're confining yourself to the existing NFS protocol,
I very much doubt that there are implementation decisions which
require experimentation.  I'm much more inclined to believe that
it's NIH -- but I can't say for sure.

That's not to say that NIH is necessarily such a bad thing.  I am
a chronic sufferer of NIH myself, and it has taught me better than
any computer course.

	Mark
--------------------------------------------------------------------
Email: Mark_Weaver@brown.edu           | Brown University
PGP Key: finger mhw@cs.brown.edu       | Dept of Computer Science