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
