code quality

Glenn Adams glenn at LL-XN.ARPA
Fri Oct 11 00:22:27 AEST 1985


I agree with you completely.  For specific situations such as the one you
pointed out, there is obviously little excuse.  Especially so since the
use of lint would actually have identified most of these problems.  What
we are really talking about here is the REAL need for Software Quality
Control and Assurance.  However, without some well defined methodology for
attempting quality judgement it is quite difficult to qualify and impossible
to quantify by any reasonable metric how a particular piece of code measures
up against some ill-articulated standard.  An even greater problem is that
true quality must begin with a commitment by management to encourage and
demand such control.  This is where, at least in the past, that I believe
has been the greatest weakness.

As far as UNIX and C are concerned, I don't think any greater crimes have
been committed in this domain of software than any others.  It may have been
more prudent to invoke lint as an option for 'cc' than make it an independent
utility; however, I think it is the integrity of the individual programmer
that must prevail.  Careful programmers are often condemned by their own
management for spending too much time smoothing off the rough edges and running
up their software development costs.  On the other hand, when careless ones
are employed, they may keep the initial development costs low by cutting all
corners, but result in extremely high maintenance costs once the system is
deployed.  I think that this problem is not unique to software but is present
in all fields from home-building to the construction of nuclear reactors.

This problem is far from being solved and much discussion and thought is still
required.  What we are talking about here is the real practice, or praxis, of
Software Engineering as a professional technique.  The Greeks had a word for
this which we see quite often these days, he texne, which means the practice of
an art in a professional sense:  a real skill.   Prof. Knuth chose this word as
the namesake of TeX, and I think he chose it because it signified that
typesetting was an art, yet it required a very professional skill or technique
to accomplish a significant work.  I would like to see the creation of all
software viewed in a similar fashion.

Maybe we should continue this discussion in Soft-Eng at MIT-XX.ARPA.

Glenn Adams



More information about the Comp.unix.wizards mailing list