Long ago G. H. Hardy, one of the great figures of 20th-century
mathematics, set out what he took to be the three most important
characteristics of successful contributors to any technical field.
They are

1) intellectual curiosity, the itch to know how things work,

2) craftsmanship, a commitment to doing the best job one knows how to do, and

3) a desire for recognition, fame, money, the esteem of one's
colleagues and the like.

Conspicuously absent from this list are preoccupation with rules of
thumb and standard practices.

Algorithms are indeed important:  Linear search is polynomial-time;
binary search is logarithmic time.  Details are important too, not
least because the cumulative effect of getting them wrong can swamp
the advantages that the choice of good algorithms confers.  Scale is
important.  Some problems are still inaccessible, others will remain
so when computers that operate at the frequencies of hard cosmic rays
become available.

Taste and experience are important.  Anyone who knows a little physics
can sit down and make a long list of the things that may affect the
path of, say, an artillery shell from muzzle to impact. Some of them
indeed need to be considered; but it turns out that the Newtonian
model of the parabolic path of a  mass point in a gravitational field
is usually sovereign.  The capacity to clear away intellectual clutter
is thus one of the chief marks of high talent, and the role for
programmers of low talent is diminishing rapidly.  (Yes, this is a
species of

Programming, like other engineering activities, is characterized, all
but defined, by the need to make tradeoffs among conflicting, finally
irreconcilable objectives; and few programmers are at all good at
this, mostly because 1) no institutional premium has been placed on
doing it well and 2) they have been poorly educated to do it.

Over time vendor groups and ISVs like EJ's will, I think, very largely
replace in-house programming staffs.  We shall have a situation much
like that which prevails in the legal profession today.  For scut
work, reviewing an employment contract or lease, say, the in-house
lawyer has his or her uses.  For real trouble and important advice, an
outside firm must be turned to.

John Gilmore, Ashland, MA 01721 - USA

Reply via email to