荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: cycker (快过年吧.我想回家), 信区: Program
标 题: [连载]编程之道:Part I(英文) yanglc (转寄)[转载]
发信站: 荔园晨风BBS站 (Sat Jan 4 11:47:34 2003), 站内信件
【 以下文字转载自 cycker 的信箱 】
【 原文由 cycker(积分) 所发表 】
发信人: ClearMind (我是谁?), 信区: Linux
标 题: [连载]编程之道:Part I(英文)
发信站: BBS 水木清华站 (Mon Oct 23 11:48:06 2000)
The Tao of Programming
Translated By Geoffrey James
Transcribed By Seth Robertson
Transformed to Html by Egon Pasztor
_________________________________________________________________
Table of Contents:
* 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
_________________________________________________________________
The Silent Void
Book One
________________________________________________________
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 greater, then the applications are great. The user
is pleased and there 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 there 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 the Yin and Yang of
programming.
Programmers that do not comprehend the Tao are always running
out of time and space for their 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 the Tao and follows it. The
average programmer is told about the Tao and searches for it.
The foolish programmer is told about the Tao and laughs at it.
If it were not for laughter, there would be no Tao.
The highest sounds are the hardest to hear. Going forward is a
way to retreat. Greater talent shows itself late in life. Even
a perfect program still has bugs.
_________________________________________________________________
The Ancient Masters
Book Two
________________________________________________________
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 the 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. Their
hair was long and unkempt and their clothes were wrinkled and
old. They crashed our 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 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."
_________________________________________________________________
Design
Book Three
_____________________________________________________
Thus spake the master programmer:
"When 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 the 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.
"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.
_________________________________________________________________
=========Part I End: Book 1/2/3==========
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.73.87.125]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.36.220]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店