*BSD News Article 34568


Return to BSD News archive

Xref: sserve comp.os.386bsd.questions:12488 comp.os.386bsd.misc:3279
Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.misc
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!trib.apple.com!amd!netcomsv!calcite!vjs
From: vjs@calcite.rhyolite.com (Vernon Schryver)
Subject: Re: Whats wrong with Linux networking ???
Message-ID: <CuBw0A.Ayy@calcite.rhyolite.com>
Organization: Rhyolite Software
Date: Wed, 10 Aug 1994 16:48:10 GMT
References: <Cu8CBr.Fx@calcite.rhyolite.com> <328d6v$s0p@ra.nrl.navy.mil> <CuACx4.Etu@rex.uokhsc.edu>
Lines: 36


>	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.  Anyone
worth hiring can look a pile of code or a good specification of the
code, and within hours to a couple of days tell you all of:
    1. what would be gained by rewriting it in size, speed, features,
	maintainability, and bug fixes.
    2. approximately how long a rewrite would take.
    3. whether it is worth rewriting, in view of (1), (2), and the likely
	new bugs.

Anyone who cannot make such an assessment without actually rewriting
the code is unlikely to figure those things out by rewriting, and the
rewritten code is unlikely to be as good as the original.  Blind rewriting
is a sure road to a mess.  

There is nothing wrong with students blindly rewriting things in order
to learn about the trade.  On the contrary, such exercises are the only
way one learns how to make such assessments.

I used to grumble "4.* BSD is student code while System V is COBOL code."
4.2 and before had a lot of code that would have been better to not have
been written or rewritten, except that writing it presumably trained
people.  To the extent that people working on each of FreeBSD, NetBSD,
and Linux are compelled to rewrite without looking at alternatives, you
must expect the results to be at best "student code."


Vernon Schryver    vjs@rhyolite.com