> 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