From: Robert J. Bradbury (bradbury@aeiveos.com)
Date: Thu Jul 08 1999 - 10:34:00 MDT
> Rob Harris Cen-IT <Rob.Harris@bournemouth.gov.uk> wrote:
>
> > > Actually, Microsoft's defects-per-LOC figures (the only comparison of
> > code
> > > quality that really tells you anything) are in the upper 30% of the
> > software
> > > industry.
> >
> LOC stands for Lines Of Code. Not much of a measure of "quality".
>
I'll have to agree with Rob here. Defect-free software that does
its job is *not* the same as elegant software that does its job *well*.
I.e. carefully controlled brute force may get the job done and you
may say "gee thats impressive", but it won't have you saying
"that is really sweet or sexy". Now I've been able to observe
what happens when you take simple systems and make them do
a better job (from an efficiency viewpoint). They typically
get bigger, because you have to handle all of the special cases
that arise [I'm thinking of DBMS buffer management or query
optimization specifically]. If continued, that reaches a point
where you trip over the cliff into so much code that it *will*
contain defects or code so complex that nobody but the person
who wrote it can deal with it.
Since the discussion started out as bloatware spagetti, and since
Windows 2000 is upwards of 35 million lines of code (according to
what I've heard), then I believe it would classify as "bloated".
The only two systems that I've heard about that may have/been are
bigger are:
(a) The ill-fated IRS computer system replacement
(b) The code that will run the space station (which is very scarey).
Does any one have a ref. for the largest software systems ever constructed?
(And what happened to them?)
Now, whether or not those 35 million lines of code make windows
more efficient, or simply make it more bloated or are 30 million lines
of device drivers or are just symptomatic of Microsoft's creeping
featurism remains unclear to me. As I recall the original versions
of UNIX (V6 & V7) were split about 50-50 between the size of code
in the device drivers and the size of code in the actual kernel.
Does anyone know whether the same remains true of Linux?
How does the size of X-windows compare with the size of a kernel
(code-wise)?
Is one of the problems dragging down the software industry the
fact that competitive hardware manufacturers designing "private"
interfaces leads to bloated software due to the requirement for
software interface "layers" to abstract away from the details of
dealing with the device?
Following this back to uploading, then the bloatware results
from the interfaces, which means the software that runs your
mind will be small, but the "Universal Translator Software"
may be huge (and potentially very buggy due to the requirement
for many special cases). All of this means that we will still
require lawyers to "guarantee" that "what I agreed to" is
"what I said" and "what I said is" "what I meant".
... the sound of wails and gnashing of teeth and the beating of
heads against hard objects is heard in the background....
Robert
This archive was generated by hypermail 2.1.5 : Fri Nov 01 2002 - 15:04:25 MST