Master Foo instructed his students:
“There is a line of dharma teaching, exemplified by the
Patriarch McIlroy's mantra ‘Do one thing well’, which
emphasizes that software partakes of the Unix way when it has simple
and consistent behavior, with properties that can be readily modeled by
the mind of the user and used by other programs”.
“But there is another line of dharma teaching, exemplified by the
Patriarch Thompson's great mantra ‘When in doubt, use brute
force’, and various sutras on the value of getting 90% of cases
right
now
, rather than 100%
later
, which emphasizes robustness and simplicity of
implementation”.
“Now tell me: which programs have the Unix nature?”
After a silence, Nubi observed:
“Master, these teachings may conflict”.
“A simple implementation is likely to lack logic for edge
cases, such as resource exhaustion, or failure to close a race window,
or a timeout during an uncompleted transaction”.
“When such edge cases occur, the behavior of the software
will become irregular and difficult. Surely this is not the Way of
Unix?”
Master Foo nodded in agreement.
“On the other hand, it is well known that fancy algorithms
are brittle. Further, each attempt to cover an edge case tends to
interact with both the program's central algorithms and the code
covering other edge cases”.
“Thus, attempts to cover all edge cases in advance, guaranteeing
‘simplicity of description’, may in fact produce code that is
overcomplicated and brittle or which, plagued by bugs, never ships at all.
Surely this is not the Way of Unix?”
Master Foo nodded in agreement.
“What, then, is the proper dharma path?” asked Nubi.
The master spoke:
“When the eagle flies, does it forget that its feet have
touched the ground? When the tiger lands upon its prey, does it
forget its moment in the air? Three pounds of VAX!”
On hearing this, Nubi was enlightened.