Tao of programming, part 1
- Transfer
Book 1
Silent emptiness.
And the Great Programmer said: "If you learned to grab the wrong code from the reception, then it's time you left."
1.1
Something mysterious is formed, arises from a silent void, in anticipation it is lonely and motionless, but at the same time it is in constant motion. This is the source of all programs. I do not know his name, so I will call him Tao of Programming.
If Tao is great, then the operating system is great.
If the operating system is large, then the compiler is large.
If the compiler is great, then the application is great.
The user is satisfied, and harmony comes in the world.
The Tao of programming floats away, and returns with the morning wind.
1.2
Tao spawned a computer language. Computer language spawned assembler. Assembler spawned a compiler. Now there are ten thousand languages. Each of them has its purpose, albeit modest. Each language expresses Yin and Yang software. Each language has its own place in Tao. Just do not need to program in COBOL, if this can be avoided.
1.3
In the beginning was the Tao. Tao gave rise to Time and Place.
Therefore, Time and Place is the Yin and Yang of programming.
Programmers who do not comprehend the Tao always lack time and space for their programs. Those who have realized the Tao always have enough space and time to achieve their goals.
And how could it be otherwise?
1.4
A wise programmer, hearing about Tao, follows him. The average programmer, having heard about Tao, is looking for him. A weak programmer, having heard about Tao, laughs at him.
There would be no laughter, there would be no Tao.
The highest sound is the hardest to hear. Moving forward is a kind of retreat. Great talent manifests itself late. Even an ideal program contains errors.
Book 2
Ancient masters.
And the Great Programmer said:
“After three days without programming, life makes no sense”
2.1
The ancient programmers were mysterious and deep. We cannot comprehend their thoughts, therefore we only describe their appearance.
On the alert, like a fox crossing a stream.
Attentive, like a general on the battlefield.
Friendly as a hostess meeting guests.
Simple as a raw tree.
Impervious like dark lakes in caves.
Who can reveal the secrets of their hearts and minds?
The answer lies only in Tao.
2.2
The great master Turing once dreamed that he was a machine. When he woke up, he cried out: “I don’t know whether I am Turing who dreams that he is a car, or I am a machine that dreams that she is Turing!”
2.3
A programmer from a large company attended the conference, and upon returning, reporting to the manager, said: “What kind of programmers work for other companies? They behave badly and do not take care of themselves. Their hair is long and groomed, their clothes are wrinkled and old. They smashed the apartments and made indecent sounds at my presentation. ”The
manager replied:“ You cannot be sent to conferences. These programmers live outside the physical world. Life for them is absurdity, a coincidence. They come and go, knowing no boundaries. Without worries, they live, thinking only about their programs. Why should they think about social conventions? They live in harmony with the Tao. "
2.4
The newcomer asked the Wizard: “Here is a programmer who is not involved in application design, documentation or tests. Nevertheless, everyone who knows him considers him one of the best programmers in the world. Why is this so? ”The
master replied:“ This programmer knew Tao. He overcame the frontiers of design - he did not lose his temper system crash, he accepts it without concern. He overcame the lines of documentation - he doesn’t care who sees his code. He overcame the limits of testing - all of his programs are perfect within themselves, serene and elegant, their goal is obvious. Verily, he has known the secret of Tao. ”
Book 3
Design.
And the Great Programmer said:
“When a program is tested, it is too late to change its design”
3.1
Once upon a time there lived a man who went to a computer exhibition. On the first day, entering, he told the guard: “I am a great thief, known for his art of theft. I warn you, this exhibition will not escape theft. "
This speech excited the guard, because computer equipment worth millions of dollars was presented at the exhibition, so he vigilantly watched the man. However, a person simply walked from stand to stand, quietly humming to himself.
At the exit, the guard took the man to the side and searched, but did not find anything.
On the second day of the exhibition, the man returned and rebuked the guard, saying: "Yesterday I left with an excellent catch, but today it will be even better." The guard watched his every move, but to no avail.
On the last day of the exhibition, the guard could no longer restrain his curiosity. “Dear thief,” he said, “I am so puzzled that I cannot find peace. Please enlighten me. What are you stealing? "The
man smiled, and said:" I am stealing ideas. "
3.2
Once upon a time there lived a Great Programmer who wrote unstructured programs. The novice coder, in an attempt to tease him, also began to write unstructured programs. When a novice asked the master to check his work, the master criticized him for being unstructured, saying: “what the Master can do is not for the newcomer. First you must comprehend the Tao, and then overcome the boundaries of structuredness. "
3.3
Once upon a time there lived a programmer at the court of the commander Wu. The warlord asked him: “What is easier to develop — an accounting module or an operating system?”
“An operating system,” the programmer replied.
The military leader grunted incredulously. “Surely the accounting module is trivial compared to the complexity of the OS,” he said.
“Not so,” the programmer said. “When developing a module for accounting, a programmer works as an intermediary between people with different ideas about the subject, about how it should work, what reports to issue and how to deal with taxes. The OS is not limited to external manifestations. When developing the OS, the programmer is looking for the simplest harmony of the machine and ideas. Therefore, the OS is easier to develop. ”
Warlord Wu nodded and smiled. “This is all good, but what is easier to debug then?” The
programmer said nothing to him in response.
3.4
The manager went to the Great Programmer and showed him the terms of reference for the new program. The manager asked the Master: “How long will it take you to develop this system if I assign five programmers to you?”
“One year,” the Master quickly answered.
“But we need her yesterday!” How long will you develop it if I give you ten programmers? ”The
master frowned and said,“ then two years. ”
“And if I appoint you a hundred programmers?” The
master shrugged: “In that case, it will never be completed”
Part 2