Book 5 - Maintenance
====

Thus spake the master programmer:

``Though a program be but three lines long, someday it will
have to be maintained.''



5.1

A well-used door needs no oil on its hinges.  A
swift-flowing stream does not grow stagnant.  Neither sound
nor thoughts can travel through a vacuum.  Software rots if
not used.  These are great mysteries.



5.2

A manager asked a programmer how long it would take him to
finish the program on which he was working. ``It will be
finished tomorrow,'' the programmer promptly replied.

``I think you are being unrealistic,'' said the manager,
``Truthfully, how long will it take?''

The programmer thought for a moment. ``I have some features
that I wish to add.  This will take at least two weeks,'' he
finally said.

``Even that is too much to expect,'' insisted the manager,
``I will be satisfied if you simply tell me when the program
is complete.''

The programmer agreed to this.

Several years later, the manager retired. On the way to his
retirement luncheon, he discovered the programmer asleep at
his terminal. He had been programming all night.



5.3

A novice programmer was once assigned to code a simple
financial package.

The novice worked furiously for many days, but when his
master reviewed his program, he discovered that it contained
a screen editor, a set of generalized graphics routines, an
artificial intelligence interface, but not the slightest
mention of anything financial.

When the master asked about this, the novice became
indignant. ``Don't be so impatient,'' he said, ``I'll put in
the financial stuff eventually.''



5.4

Does a good farmer neglect a crop he has planted?  Does a
good teacher overlook even the most humble student?  Does a
good father allow a single child to starve?  Does a good
programmer refuse to maintain his code?


