974 lines
27 KiB
Prolog
974 lines
27 KiB
Prolog
|
|
-------------------------------------------
|
|
T h e T a o O f P r o g r a m m i n g
|
|
-------------------------------------------
|
|
|
|
|
|
|
|
|
|
T r a n s l a t e d B y
|
|
|
|
|
|
G e o f f r e y J a m e s
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 1 -
|
|
|
|
|
|
---------------------------------
|
|
T a b l e o f C o n t e n t s
|
|
---------------------------------
|
|
|
|
|
|
|
|
|
|
Book 1 -- The Silent Void
|
|
|
|
Book 2 -- The Ancient Masters
|
|
|
|
Book 3 -- Design
|
|
|
|
Book 4 -- Coding
|
|
|
|
Book 5 -- Maintenance
|
|
|
|
Book 6 -- Management
|
|
|
|
Book 7 -- Corporate Wisdom
|
|
|
|
Book 8 -- Hardware and Software
|
|
|
|
Book 9 -- Epilogue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 2 -
|
|
T h e S i l e n t V o i d
|
|
B o o k O n e
|
|
-----------------------------------------------------------------------
|
|
Thus spake the master programmer:
|
|
|
|
"When you have learned to snatch the error code from the trap
|
|
frame, it will be time for you to leave."
|
|
----------------------------------------------------------------------
|
|
1.1
|
|
|
|
Something mysterious is formed, born in the silent void. Waiting alone
|
|
and unmoving, it is at once still and yet in constant motion. It is
|
|
the source of all programs. I do not know its name, so I will call it
|
|
the Tao of Programming.
|
|
|
|
If the Tao is great, then the operating system is great. If the
|
|
operating system is great, then the compiler is great. If the compiler
|
|
is great, then the application is great. The user is pleased and their
|
|
is harmony in the world.
|
|
|
|
The Tao of Programming flows far away and returns on the wind of
|
|
morning.
|
|
|
|
1.2
|
|
|
|
The Tao gave birth to machine language. Machine language gave birth to
|
|
the assembler.
|
|
|
|
The assembler gave birth to the compiler. Now their are ten thousand
|
|
languages.
|
|
|
|
Each language has its purpose, however humble. Each language expresses
|
|
the Yin and Yang of software. Each language has its place within the
|
|
Tao.
|
|
|
|
But do not program in COBOL if you can avoid it.
|
|
|
|
1.3
|
|
|
|
In the beginning was the Tao. The Tao gave birth to Space and Time.
|
|
Therefore Space and Time are Yin and Yang of programming.
|
|
|
|
Programmers that do not comprehend the Tao are always running out of
|
|
time and space for there programs. Programmers that comprehend the
|
|
Tao always have enough time and space to accomplish their goals.
|
|
|
|
How could it be otherwise?
|
|
|
|
1.4
|
|
|
|
The wise programmer is told about Tao and follows it. The average
|
|
programmer is told about Tao and searches for it. The foolish
|
|
programmer is told about Tao and laughs at is.
|
|
|
|
If it were not for laughter, there would be no Tao.
|
|
|
|
The highest sounds are hardest to hear. Going forward is a way to
|
|
retreat. Great talent shows itself late in life. Even a perfect
|
|
program still has bugs.
|
|
|
|
- 3 -
|
|
T h e A n c i e n t M a s t e r s
|
|
B o o k T w o
|
|
-----------------------------------------------------------------------
|
|
Thus Spake the Master Programmer:
|
|
|
|
"After three days without programming, life becomes meaningless."
|
|
-----------------------------------------------------------------------
|
|
2.1
|
|
|
|
The programmers of old were mysterious and profound. We cannot fathom
|
|
their thoughts, so all we do is describe their appearance.
|
|
|
|
Aware, like a fox crossing the water. Alert, like a general on the
|
|
battlefield. Kind, like a hostess greeting her guests. Simple, like
|
|
uncarved blocks of wood. Opaque , like black pools in darkened caves.
|
|
|
|
Who can tell the secrets of their hearts and minds?
|
|
|
|
The answer exists only in Tao.
|
|
|
|
2.2
|
|
|
|
Grand Master Turing once dreamed that he was a machine. When he awoke
|
|
he exclaimed:
|
|
|
|
"I don't know whether I am Turing dreaming that I am a machine,
|
|
or a machine dreaming that I am Turing!."
|
|
|
|
2.3
|
|
|
|
A programmer from a very large computer company went to a software
|
|
conference and then returned to report to his manager, saying: "What
|
|
sort of programmers work for other companies? They behaved badly and
|
|
were unconcerned with appearances. There hair was long and unkept
|
|
and their clothes were wrinkled and old. They crashed out hospitality
|
|
suite and they made rude noises during my presentation."
|
|
|
|
The manager said: "I should have never sent you to the conference.
|
|
Those programmers live beyond the physical world. They consider life
|
|
absurd, an accidental coincidence. They come and go without knowing
|
|
limitations. Without a care, they live only for their programs. Why
|
|
should they bother with social conventions?
|
|
|
|
They are alive within the Tao."
|
|
|
|
2.4
|
|
|
|
A novice asked the Master: "Here is a programmer that never designs,
|
|
documents or tests his programs. Yet all who know him consider him
|
|
one of the best programmer in the world. Why is this?"
|
|
|
|
The Master replies: "That programmer has mastered the Tao. He has
|
|
gone beyond the need for design; he does not become angry when the
|
|
system crashes, but accepts the universe without concern. He has gone
|
|
beyond the need for documentation; he no longer cares if anyone else
|
|
sees his code. He has gone beyond the need for testing; each of his
|
|
programs are perfect within themselves, serene and elegant, their
|
|
purpose self-evident. Truly, he has entered the mystery of Tao."
|
|
|
|
|
|
- 4 -
|
|
D e s i g n
|
|
B o o k T h r e e
|
|
-----------------------------------------------------------------------
|
|
Thus spake the Master Programmer:
|
|
|
|
"When the program is being tested, it is too late to make design
|
|
changes."
|
|
-----------------------------------------------------------------------
|
|
3.1
|
|
|
|
There once was a man who went to a computer trade show. Each day as
|
|
he entered, the man told the guard at the door:
|
|
|
|
"I am a great thief, renowned for my feats of shoplifting. Be
|
|
forewarned, for this trade show shall not escape unplundered."
|
|
|
|
This speech disturbed the guard greatly, because there were millions
|
|
of dollars of computer equipment inside, so he watched the man
|
|
carefully. But the man merely wandered from booth to booth, humming
|
|
quietly to himself.
|
|
|
|
When the man left, the guard took him aside and searched his clothes,
|
|
but nothing was to be found.
|
|
|
|
On the next day of the trade show, the man returned and chided the
|
|
guard saying: "I escaped with a vast booty yesterday, but today will
|
|
be even better." So the guard watched him ever more closely, but to
|
|
no avail.
|
|
|
|
On the final day of the trade show, the guard could restrain his
|
|
curiosity no longer. "Sir Thief," he said, "I am so perplexed, I
|
|
cannot live in peace. Please enlighten me. What is it that you are
|
|
stealing?"
|
|
|
|
The man smiled. "I am stealing ideas," he said.
|
|
|
|
3.2
|
|
|
|
There once was a master programmer who wrote unstructured programs. A
|
|
novice programmer, seeking to imitate him, also began to write
|
|
unstructured programs. When the novice asked the master to evaluate
|
|
his progress, the master criticized him for writing unstructured
|
|
programs, saying "What is appropriate for the master is not
|
|
appropriate for the novice. You must understand Tao before
|
|
transcending structure."
|
|
|
|
3.3
|
|
|
|
There was once a programmer who was attached to the court of the
|
|
warlord of Wu. The warlord asked the programmer: "Which is easier to
|
|
design: an accounting package or an operating system?"
|
|
|
|
"An operating system," replied the programmer.
|
|
|
|
The warlord uttered an exclamation of disbelief. "Surely an
|
|
accounting package is trivial next to the complexity of an operating
|
|
system," he said.
|
|
|
|
|
|
|
|
- 5 -
|
|
"Not so," said the programmer, "when designing an accounting package,
|
|
the programmer operates as a mediator between people having different
|
|
ideas: how it must operate, how its reports must appear, and how it
|
|
must conform to the tax laws. By contrast, an operating system is not
|
|
limited by outside appearances. When designing an operating system,
|
|
the programmer seeks the simplest harmony between machine and ideas.
|
|
This is why an operating system is easier to design."
|
|
|
|
The warlord of Wu nodded and smiled. "That is all good and well, but
|
|
which is easier to debug?"
|
|
|
|
The programmer made no reply.
|
|
|
|
3.4
|
|
|
|
A manager went to the master programmer and showed him the
|
|
requirements document for a new application. The manager asked the
|
|
master: "How long will it take to design this system if I assign five
|
|
programmers to it?"
|
|
|
|
"It will take one year," said the master promptly.
|
|
|
|
"But we need this system immediately or even sooner! How long will it
|
|
take if I assign ten programmers to it?"
|
|
|
|
The master programmer frowned. "In that case, it will take two
|
|
years."
|
|
|
|
"And what if I assign a hundred programmers to it?"
|
|
|
|
The master programmer shrugged. "Then the design will never be
|
|
completed," he said.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 6 -
|
|
C o d i n g
|
|
B o o k F o u r
|
|
-----------------------------------------------------------------------
|
|
Thus spake the master programmer:
|
|
|
|
"A well-written program is its own heaven; a poorly-written
|
|
program is its own hell."
|
|
-----------------------------------------------------------------------
|
|
4.1
|
|
|
|
A program should be light and agile, its subroutines connected like a
|
|
string of pearls. The spirit and intent of the program should be
|
|
retained throughout. There should be neither too little or too much,
|
|
neither needless loops nor useless variables, neither lack of
|
|
structure nor overwhelming rigidity.
|
|
|
|
A program should follow the 'Law of Least Astonishment'. What is this
|
|
law? It is simply that the program should always respond to the user
|
|
in the way that astonishes him least.
|
|
|
|
A program, no matter how complex, should act as a single unit. The
|
|
program should be directed by the logic within rather than by outward
|
|
appearances.
|
|
|
|
If the program fails in these requirements, it will be in a state of
|
|
disorder and confusion. The only way to correct this is to rewrite
|
|
the program.
|
|
|
|
4.2
|
|
|
|
A novice asked the master: "I have a program that sometime runs and
|
|
sometimes aborts. I have followed the rules of programming, yet I am
|
|
totally baffled. What is the reason for this?"
|
|
|
|
The master replied: "You are confused because you do not understand
|
|
Tao. Only a fool expects rational behavior from his fellow humans.
|
|
Why do you expect it from a machine that humans have constructed?
|
|
Computers simulate determinism; only Tao is prefect.
|
|
|
|
The rules of programming are transitory; only Tao is eternal.
|
|
Therefore you must contemplate Tao before you receive enlightenment."
|
|
|
|
"But how will I know when I have received enlightenment?" asked the
|
|
novice.
|
|
|
|
"Your program will then run correctly," replied the master.
|
|
|
|
4.3
|
|
|
|
A master was explaining the nature of Tao of to one of his novices,
|
|
"The Tao is embodied in all software -- regardless of how
|
|
insignificant," said the master.
|
|
|
|
"Is the Tao in a hand-held calculator?" asked the novice.
|
|
|
|
"It is," came the reply.
|
|
|
|
|
|
|
|
|
|
- 7 -
|
|
"Is the Tao in a video game?" continued the novice.
|
|
|
|
"It is even in a video game," said the master.
|
|
|
|
"And is the Tao in the DOS for a personal computer?"
|
|
|
|
The master coughed and shifted his position slightly. "The lesson
|
|
is over for today," he said.
|
|
|
|
4.4
|
|
|
|
Prince Wang's programmer was coding software. His fingers danced upon
|
|
the keyboard. The program compiled without an error message, and the
|
|
program ran like a gentle wind.
|
|
|
|
"Excellent!" the Prince exclaimed, "Your technique is faultless!"
|
|
|
|
"Technique?" said the programmer turning from his terminal, "What I
|
|
follow is Tao -- beyond all techniques! When I first began to program
|
|
I would see before me the whole problem in one mass. After three
|
|
years I no longer saw this mass. Instead, I used subroutines. But now
|
|
I see nothing. My whole being exists in a formless void. My senses
|
|
are idle. My spirit, free to work without plan, follows its own
|
|
instinct. In short, my program writes itself. True, sometimes there
|
|
are difficult problems. I see them coming, I slow down, I watch
|
|
silently. Then I change a single line of code and the difficulties
|
|
vanish like puffs of idle smoke. I then compile the program. I sit
|
|
still and let the joy of the work fill my being. I close my eyes for
|
|
a moment and then log off."
|
|
|
|
Prince Wang said, "Would that all of my programmers were as wise!"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 8 -
|
|
M a i n t e n a n c e
|
|
B o o k F i v e
|
|
-----------------------------------------------------------------------
|
|
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. "I 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 lunch, he discovered the programmer asleep at his
|
|
terminal. He had been programming all night.
|
|
|
|
5.3
|
|
|
|
A novice programmer was once assigned to code 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?
|
|
|
|
- 9 -
|
|
M a n a g e m e n t
|
|
B o o k S i x
|
|
-----------------------------------------------------------------------
|
|
Thus spake the master programmer:
|
|
|
|
"Let the programmer be many and the managers few -- then all will
|
|
be productive."
|
|
-----------------------------------------------------------------------
|
|
6.1
|
|
|
|
When managers hold endless meetings, the programmers write games.
|
|
When accountants talk of quarterly profits, the development budget
|
|
is about to be cut. When senior scientists talk blue sky, the clouds
|
|
are about to roll in.
|
|
|
|
Truly, this is not the Tao of Programming.
|
|
|
|
When managers make commitments, game programs are ignored. When
|
|
accountants make long-range plans, harmony and order are about to
|
|
be restored. When senior scientists address the problems at hand,
|
|
the problems will soon be solved.
|
|
|
|
Truly, this is the Tao of Programming.
|
|
|
|
6.2
|
|
|
|
Why are programmers non-productive? Because their time is wasted
|
|
in meetings.
|
|
|
|
Why are programmers rebellious? Because the management interferes
|
|
to much.
|
|
|
|
Why are the programmers resigning one by one? Because they are
|
|
burnt out.
|
|
|
|
Having worked for poor management, they no longer value their jobs.
|
|
|
|
6.3
|
|
|
|
A manager was about to be fired, but a programmer who worked for
|
|
him invented a new program that became popular and sold well. As
|
|
a result, the manager retained his job.
|
|
|
|
The manager tries to give the programmer a bonus, but the programmer
|
|
refused it, saying, "I wrote the program because I thought it was
|
|
an interesting concept, and thus I expect no reward."
|
|
|
|
The manager upon hearing this remarked, "This programmer, though he
|
|
holds a position of small esteem, understands well the proper duty
|
|
of an employee. Lets promote him to the exalted position of
|
|
management consultant!"
|
|
|
|
But when told this, the programmer once more refused, saying,
|
|
"I exist so that I can program. If I were promoted, I would do
|
|
nothing but waste everyone's time. Can I go now? I have a program
|
|
that I'm working on."
|
|
|
|
|
|
|
|
|
|
- 10 -
|
|
6.4
|
|
|
|
A manager went to his programmers and told them: "As regards to
|
|
your work hours: you are going to have to come in at nine in the
|
|
morning and leave at five in the afternoon." At this, all of them
|
|
became angry and several resigned on the spot."
|
|
|
|
So the manager said: "All right, in that case you may set your own
|
|
working hours, as long as you finish your projects on schedule."
|
|
The programmers, now satisfied, began to come in at noon and work
|
|
to the wee hours of the morning.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 11 -
|
|
C o r p o r a t e W i s d o m
|
|
B o o k S e v e n
|
|
-----------------------------------------------------------------------
|
|
Thus spake the master programmer:
|
|
|
|
"You can demonstrate a program for a corporate executive, but
|
|
you can't make him computer literate."
|
|
-----------------------------------------------------------------------
|
|
7.1
|
|
|
|
A novice asked the master: "In the east there is a great tree-
|
|
structure that men call 'Corporate Headquarters'. It is bloated
|
|
out of shape with vice presidents and accountants. It issues a
|
|
multitude of memos, each saying 'Go, Hence!' or 'Go, Hither!' and
|
|
nobody knows what is meant. Every year new names are put onto the
|
|
branches, but all to no avail. How can such an unnatural entity
|
|
exist?"
|
|
|
|
The master replies: "You perceive this immense structure and are
|
|
disturbed that it has no rational purpose. Can you not take
|
|
amusement from its endless gyrations? Do you not enjoy the
|
|
untroubled ease of programming beneath its sheltering branches?
|
|
Why are you bothered by its uselessness?"
|
|
|
|
7.2
|
|
|
|
In the east there is a shark which is larger than all other fish.
|
|
It changes into a bird whose wings are like clouds filling the sky.
|
|
When this bird moves across the land, it brings a message from
|
|
Corporate Headquarters. This message it drops into the midst of the
|
|
programmers, like a seagull making its mark upon the beach. Then the
|
|
bird mounts on the wind and, with the blue sky at its back, returns
|
|
home.
|
|
|
|
The novice programmer stares in wonder at the bird, for he
|
|
understands it not. The average programmer dreads the coming of the
|
|
bird, for he fears its message. The master programmer continues to
|
|
work at his terminal, for he does not know that the bird has come
|
|
and gone.
|
|
|
|
7.3
|
|
|
|
The Magician of the Ivory Tower brought his latest invention for
|
|
the master programmer to examine. The magician wheeled a large
|
|
black box into the master's office while the master waited in
|
|
silence.
|
|
|
|
"This is an integrated, distributed, general-purpose workstation,"
|
|
began the magician, "ergonomically designed with a proprietary
|
|
operating system, sixth generation languages, and multiple state of
|
|
the art user interfaces. It took my assistants several hundred man
|
|
years to construct. Is it not amazing."
|
|
|
|
The master raised his eyebrows slightly. "It is indeed amazing," he
|
|
said.
|
|
|
|
"Corporate Headquarters has commanded," continued the magician,
|
|
"that everyone use this workstation as a platform for new programs.
|
|
Do you agree to this?"
|
|
|
|
- 12 -
|
|
"Certainly," replied the master, " I will have it transported to the
|
|
data center immediately!" And the magician returned to his tower,
|
|
well pleased.
|
|
|
|
Several days later, a novice wandered into the office of the master
|
|
programmer and said, "I cannot find the listing for my new program.
|
|
Do you know where it might be?"
|
|
|
|
"Yes," replied the master, "the listings are stacked on the platform
|
|
in the data center."
|
|
|
|
7.4
|
|
|
|
The master programmer moves form program to program without fear.
|
|
No change in management can harm him. He will not be fired, even if
|
|
the project is cancelled. Why is this? He is filled with Tao.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 13 -
|
|
H a r d w a r e a n d S o f t w a r e
|
|
B o o k E i g h t
|
|
-----------------------------------------------------------------------
|
|
Thus spake the master programmer:
|
|
|
|
"Without the wind, the grass does not move. Without software,
|
|
hardware is useless."
|
|
-----------------------------------------------------------------------
|
|
8.1
|
|
|
|
A novice asked the master: "I perceive that one computer company is
|
|
much larger than all others. It towers above its competition like a
|
|
giant among dwarfs. Any one of its divisions could comprise an entire
|
|
business. Why is this so?"
|
|
|
|
The master replied, "Why do you ask such foolish questions? That
|
|
company is large because it is large. If it only made hardware,
|
|
nobody would buy it. If it only made software, nobody would use it.
|
|
If it only maintained systems, people would treat it like a servant.
|
|
But because it combines all of these things, people think it one of
|
|
the gods! By not seeking to strive, it conquers without effort."
|
|
|
|
8.2
|
|
|
|
A master programmer passed a novice programmer one day. The master
|
|
noted the novice's preoccupation with a hand-held computer game.
|
|
"Excuse me", he said, "may I examine it?"
|
|
|
|
The novice bolted to attention and handed the device to the master. I
|
|
see that the device claims to have three levels of play: Easy, Medium
|
|
and Hard", said the master. "Yet every such device has another level
|
|
of play, where the device seeks not to conquer the human, nor to be
|
|
conquered by the human."
|
|
|
|
"Pray, great master", implored the novice, "how does one find this
|
|
mysterious settings?"
|
|
|
|
The master dropped the device to the ground and crushed it under
|
|
foot. And suddenly the novice was enlightened.
|
|
|
|
8.3
|
|
|
|
There was once a programmer who worked upon microprocessors. "Look at
|
|
how well off I am here," he said to a mainframe programmer who came
|
|
to visit, "I have my own operating system and file storage device. I
|
|
do not have to share my resources with anyone. The software is self-
|
|
consistant and easy-to-use. Why do you not quit your present job and
|
|
join me here?"
|
|
|
|
The mainframe programmer then began to describe his system to his
|
|
friend, saying "The mainframe sits like an ancient sage meditating in
|
|
the midst of the data center. Its disk drives lie end-to-end like a
|
|
great ocean of machinery. The software is as multifaceted as a
|
|
diamond, and as convoluted as a primeval jungle. The programs, each
|
|
unique, move through the system like a swift-flowing river. That is
|
|
why I am happy where I am."
|
|
|
|
The microcomputer programmer, upon hearing this, fell silent. But the
|
|
two programmers remained friends until the end of their days.
|
|
|
|
- 14 -
|
|
8.4
|
|
|
|
Hardware met Software on the road to Changtse. Software said: "You
|
|
are Yin and I am Yang. If we travel together we will become famous
|
|
and earn vast sums of money." And so the set forth together, thinking
|
|
to conquer the world.
|
|
|
|
Presently they met Firmware, who was dressed in tattered rage and
|
|
hobbled along propped on a thorny stick. Firmware said to them: "The
|
|
Tao lies beyond Yin and Yang. It is silent and still as a pool of
|
|
water. It does not seek fame, therefore nobody knows its presence. It
|
|
does not seek fortune, for it is complete within itself. It exists
|
|
beyond space and time."
|
|
|
|
Software and Hardware , ashamed, returned to their homes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 15 -
|
|
E p i l o g u e
|
|
B o o k N i n e
|
|
-----------------------------------------------------------------------
|
|
Thus spake the Master Programmer:
|
|
|
|
"Time for you to leave."
|
|
-----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 16 -
|
|
|