BBS水木清华站∶精华区

发信人: 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水木清华站∶精华区