Linux Computers: 40 of 1023 |
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 programmers 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 the Tao."
-- Geoffrey James, "The Tao of Programming"
|
|
|
Linux Computers: 41 of 1023 |
A novice asked the master: "I have a program that sometimes 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
the 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 the Tao is perfect.
The rules of programming are transitory; only the Tao is eternal.
Therefore you must contemplate the 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.
-- Geoffrey James, "The Tao of Programming"
|
|
|
Linux Computers: 42 of 1023 |
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 so large. If it only made hardware, nobody
would buy 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."
-- Geoffrey James, "The Tao of Programming"
|
|
|
Linux Computers: 43 of 1023 |
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?"
-- Geoffrey James, "The Tao of Programming"
|
|
|
Linux Computers: 44 of 1023 |
A novice of the temple once approached the Chief Priest with a
question.
"Master, does Emacs have the Buddha nature?" the novice asked.
The Chief Priest had been in the temple for many years and could be
relied upon to know these things. He thought for several minutes before
replying.
"I don't see why not. It's got bloody well everything else."
With that, the Chief Priest went to lunch. The novice suddenly
achieved enlightenment, several years later.
Commentary:
His Master is kind,
Answering his FAQ quickly,
With thought and sarcasm.
|
|
|
Linux Computers: 45 of 1023 |
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, and 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 the financial stuff in eventually."
-- Geoffrey James, "The Tao of Programming"
|
|
|
Linux Computers: 46 of 1023 |
A novice was trying to fix a broken lisp machine by turning the
power off and on. Knight, seeing what the student was doing spoke sternly,
"You cannot fix a machine by just power-cycling it with no understanding
of what is going wrong." Knight turned the machine off and on. The
machine worked.
|
|
|
Linux Computers: 47 of 1023 |
A person who is more than casually interested in computers should be well
schooled in machine language, since it is a fundamental part of a computer.
-- Donald Knuth
|
|
|
Linux Computers: 48 of 1023 |
A program should be light and agile, its subroutines connected like a
strings of pearls. The spirit and intent of the program should be retained
throughout. There should be neither too little nor 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.
-- Geoffrey James, "The Tao of Programming"
|
|
|
Linux Computers: 49 of 1023 |
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. Their hair was long and unkempt and their
clothes were wrinkled and old. They crashed out hospitality suites 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."
-- Geoffrey James, "The Tao of Programming"
|
|