>>> i think one could write quite an interesting
>>> book critiquing modern software development for failing to
>>> stop at good enough.
>>
>> Why would it take a book?  DMR [sic] made the point succinctly in his
>> critique of Knuth's literate program, showing how a few command-line
>> utilities do the work of the Don's elaborately constructed tries.
>
> Do you have a URL for this?

Yes, sorry I didn't look it up earlier.

Bentley, J., Knuth, D., and McIlroy, D. 1986. Programming pearls: a
literate program. Commun. ACM 29, 6 (Jun. 1986), 471-483. DOI=
http://doi.acm.org/10.1145/5948.315654

It is McIlroy (not DMR), but it looks like he focused on, not writing
a literate program, but the engineering benefits of constructing a
pipeline from common tools, vs Knuth's elaborate, single-purpose
program.

>From the paper:

"To return to Knuth’s paper: everything there---even
input conversion and sorting---is programmed
monolithically and from scratch. In particular the
isolation of words, the handling of punctuation, and
the treatment of case distinctions are built in. Even
if data-filtering programs for these exact purposes
were not at hand, these operations would well be
implemented separately: for separation of concerns,
for easier development, for piecewise debugging, and
for potential reuse. The small gain in efficiency from
integrating them is not likely to warrant the resulting
loss of flexibility. And the worst possible eventuality
eventuality---being forced to combine programs---is
not severe.

The simple pipeline given above will suffice to get
answers right now, not next week or next month. It
could well be enough to finish the job. But even for
a production project, say for the Library of Congress,
it would make a handsome down payment, useful
for testing the value of the answers and for smoking
out follow-on questions."

Jason Catena

Reply via email to