"Programming" (reproduced) translator
A book for programming today is an endless, most of which is based on tutorial, manual and programming skills, which are used to handle some technical problems.
However, how to understand the connotation and essence of programming? What kind of thinking is the programmer programming? What is their work? What are they thinking? As a manager, how do you get along with them and play their enthusiasm? There are very few books involving these aspects. However, it doesn't mean that it is not important - as my country's procedural design undertakings from starting to development, these aspects are more important, we are more and more expensive to understand them.
The United States is a software industry and program design level in the world's dependence, can we learn from there? The "Programming" book you will be read is a procedure designer that is good at conducting philosophical thinking, more than ten years of work experience - Geoffrey James.
In this book, the author examines a variety of small stories in the programming room in the book, and uses the east's philosophical system to deepen the deeper thinking and understanding, that is, "Tao" Thinking and understanding. The simple story contains the truth of the Olympics, which is a great feature of this book.
This book is not only a beautiful language, a metaphor, but also in structure.
This book is divided into three volumes in the United States - "Programming" "Programming Zen" and "Enlightenment of Computer Fables - Information Age", negotiated with the author, decided to summarize the Chinese translation as a "programming" "The title of the Tao" is published.
1. "Programming"
The idea of this book is novel and strange. The author as a computer archaeological amateur, and accidentally discovered the "programmed way" in the programming industry. The contents of this, everyone wants to know, but no one has seen it, it is a bit like Jin Yong's novel "Jiuyin Zhenjing" in the Heroes of Shooting. So the author will "translate" into this book, so public. The book is divided into nine articles:
The first one, the second design of the second ancient master, the fourth design of the fourth design, the fifth maintenance of the sixth management seventh company, the eighth article hardware and software ninth episode
2, "Programming Zen"
In this book, the author borrows the five elements of Chinese traditional culture - "Gold, Wood, Water, Water, Fire, Soil" represents the concepts related to computer, and organizes multiple ancestors with ancestors. The book is divided into five
The first wooden second Fire, the third earth, the fourth piece of gold, fifth water
3, "Computer Fables - Enlightenment of Information Age"
The author organizes the structure of this book with the four seasons - "Spring, Summer, Autumn, and Winter". The book is divided into four articles:
The first autumn - illusory and real second winter - war and death third spring - true love and new life fourth summer - revelation
We will deliver this book to those programmingors who love to think, and managers who have deald by the same program designer, of course they also love to think about love. First semi-empty empty
Programming Master is said:
"When you have this, you will take this crystal stone in my hand, it is your teacher."
1.1
In the quiet empty, a magical material is formed and born. It immediately stopped, he kept alone, heroic movement, but in the eternal movement. It is the source of all programs, I don't know its name, so I will call it as programming.
If this is perfect, those operating systems are perfect, if the operating system is perfect, then the compiler is perfect, if the compiler is perfect, the application is perfect. User is satisfied - the harmony came into being.
The proceeds of programming are far away, and they will return to the morning wind.
1.2
This channel produces a machine language, and the machine language has produced assembly language.
The assembly language produces a compiler, and now there is ten language.
Each language has its own humble use. Every language expresses the yin and yang of the software. Every language is in this way.
However, you should try to avoid writing programs in COBOL languages.
1.3
At the beginning of the universe, the road produced space and time. Space and time are the yin and yang of programming.
Can not comprehend this programmer always exhaust the time and space they want to prepare; and comprehend the programmer has a sufficient time and space to achieve their goals.
In addition, is there any other situation?
1.4
Summary programmers have heard of this, and follow it; mediocre programming people heard this way, looking for it; stupid programming said this, but laughing it.
If you have ridiculed, you will not exist.
The highest voice is the most difficult. The forward is also a reverse. The large device is late. Even a perfect program still has hidden dangers.
The Taoism is not exposed, it is difficult to understand.
The second ancient master
Programming Master is said:
"If it is not programmed for three days, life will become meaningless."
2.1
The older generation of programmers is mysterious, esoteric. We can't figure out their ideas, we can do just describe their appearance.
They are awake, just like a fox who swims to the water; they are alert, just like a battlefield; they are friendly, just a hostess who entertain guests; they are simple, just Wood like unsolved; they are still difficult to ponder, just like dark pool water in dark caves.
Who can tell the secrets in their hearts?
The answer exists only in the road.
2.2
Computer Science Giant Tu Ling once dreams that he is a machine. When he woke up, he was stunned:
"I don't know - I dreamed that I was a Tu Ling of the machine, or a dream of my dream?"
2.3
A programmer of a large computer company participated in a software seminar. He returned to the manager and said: "What kind of person worked for other companies? They are poor, regardless of their own instruments. Their hair is growing, and the clothes are old. They Breaking into our meeting, there is still a rude noisy in my speech. "
The manager said: "I shouldn't let you take this meeting. Those programmers are living outside the material world. They think life is ridiculous, an unexpected coincidence. They come to themselves. They only for them. The program is alive, can't live without worry. Why use social customs to constrain them?
They live in this way. "
2.4
An auditorium asked Master: "A programmer, never conceived, writing documents or testing his procedure, but all people who know him think he is the world's best programmer. Why?"
The master replied: "The man mastered. He does not need to think in advance. When the system crashes, he will not be calm, but he accepts the whole fact. He also removes the needs of the document from writing the program. Out, don't care if someone is watching his code. He doesn't need to test. His proceedings are perfect. Tranquility and elegant, the use of the program is also obvious.
It is indeed, he has entered the magical realm of the road. "
Third design
Programming Master is said:
"When the program is tested, the modification of the design is too late."
3.1
There have been someone to participate in a computer show, every day when he enters the pavilion, he said to the guard:
"I am a thief, the skills of my stealing are famous. Warning you in advance, this show will also be robbed."
This time, let the guards are restless, because there is a million dollars in computer equipment, so he stares at this person. But this person is just from a booth to another showst, and the mouth is gently squint. When this person went out, the guard pulled him to the side and searched his clothes, but he did nothing.
The next day, this person came again, and said to the gate guard: "I was returned yesterday, but today's harvest will be bigger." So, the guards stared at him more tight, but still did nothing.
On the last day of the show, the guards also suppressed their curiosity. "Mr. the thief," said the guard said, "I was confused by you, I really don't understand. Please tell me, what are you stealing?"
This man laughed. "I am stealing." He said.
3.2
Once a programming master, I like to write unstructured programming. A beginner tried to imitate him and began to write unstructured procedures. When this apprentice asked Master to evaluate his progress, Master criticized his approach. He said: "Suitable for a programming master, it is not necessarily suitable for beginners. Before transcend structured, you must first understand."
3.3
Once the programmer was sent to the IBM military minister. QRM Question: "Design a financial package, and design an operating system, which is easier?"
"Operating system." The programmer replied.
The minister of the military machine immediately took a untrustworthy, "" with a complex operating system, a financial software package is simply a little witch. "He said.
"Not the case," programmers said, "When designing a financial package, the programmer works as a intermediaries in the concept of different people: how this software must operate, what is the form of its reports must be It must be consistent with the tax law, wait, one operating system is not limited to its appearance. When designing an operating system, the programmer can find the simplest harmony between the machine and people's thinking. This is why the operating system is easier to design. "
The military machine is a little bit, laughing. "It is also. But if you want to detect and correct the mistakes, which is easier?"
The programmer did not answer.
3.4
A manager arrives in the programming master, handed over a description of a new application. Manager Ask Programming Master: "If I assign five programmers to you, how long does you need to design this system?"
"That will spend a year." The master immediately replied.
"But we will need this system immediately, even ask for faster! If I assign ten programmers to you, how long do you need?"
The master frowned, "that, if you need two years."
"What if I assign a hundred programmers?"
The master shrugged, "Then this design will never be completed." He said
Fourth article
Programming Master is said:
"A perfect process is its own paradise, and a bad program is his own hell."
4.1
A program should be light, flexible, its subroutine is like a string of pearls. Its spirit and intent should run through. In the program, the content should not be too much, nor should it be too small; neither there is no need for loop structure, and there should be no redundant variables; neither lack of structural, but also decreased.
A program, no matter how complicated, it should be run in a whole manner. The program should be in its internal logic, rather than external morphology.
If a program does not reach these requirements, it will be in a constant state of confusion. The only way is to override this program.
4.2
A beginner asked Master: "I have a procedure, and the time is not spiritual. I have always followed the rules of the programming, but the result is confused. What is the reason?" Master replied: "Because you There is no understanding, so you are confused. Only a fool will expect to see rational behavior from humans, how can you count on a human manufactured machine? Computer imitation is the decision, only Tao is perfect .
The rules of those with the programming box box are just a lot of flowers, and only Tao is eternal. Therefore, before you are inspired, you must be meditated. "
"But how can I know that I have been inspired?" Beginner asked.
"When your program is running correctly." The master replied.
4.3
A master is explaining the true meaning of the disciples programmed by his beginners. "This is reflected in all software - no matter how much it looks at it," Master said.
"Is this in the palm calculator?" Beginner asked.
"Yes."
"Is this in the video game?" The beginner continued to ask.
"This is even embodied in video games." Master said.
"So this is also reflected in the DOS system of your computer?"
The master cough and slightly moved a bit. "Today's class is here." He said.
4.4
A programmer under a project manager is writing software. His finger flew on the keyboard and did not have any error messages during the compilation of the program. The program is running like a wind.
"Great!" The manager called happily, "Your skill is just perfect."
"Skill?" The programmer said that he turned from his terminal. "I follow - all skills far! When I first started programming, I saw the whole problem in front of my eyes. One group. Three years later, I also saw this kind of conviction. On the contrary, I used a variety of subroutines. But now, I can't see anything. My whole body and mind are in one. In invisible void, my consciousness is empty.
My spirit moves with their instinct, there is no principles plan to work freely. All in all, my program wrote himself. It is true that there will be some problems. I saw those puzzles to come to me, so I slowed down and gaked them silently. Then I changed my code, and those questions were disappeared. Then I completed the compilation of the program. I sat quietly, let the work of the job comfortable all over my body. I closed my eyes, rest, and quit the system. "
The manager said, "I hope that all of my programmers are so smart!"
Fifth maintenance
Programming Master is said:
"Even if there is only three long-term long, one day, it has to be maintained."
5.1
A hinges that often open the door do not require lubricating oil.
A rushing river will not become dirty.
Whether it is a sound or an idea, it is impossible to spread in vacuum.
Software If you don't have to decay.
This world is really wonderful.
5.2
A programmer is writing his programs, and the manager asks how long it takes to complete.
"You can do tomorrow." The programmer immediately answered.
"I think you are unrealistic," the manager said, "How long does it take?"
The programmer thought for a while. "I still want to add some new features, which takes the time for at least two weeks." He finally said.
"Even so too high," Manager insisted that "as long as you have completed the program, I will satisfy it."
The programmer agreed.
After a few years, the manager retired. On the way to retired lunch. He found that the program was asleep before his terminal. All night is busy writing that process.
5.3
A beginner programmer is assigned a simple financial package. The beginner was very happy to work for many days. But when his Master checked this program, found that there was a screen editor, a set of universal chart programs, an artificial intelligence interface, but there is no financial thing. When Master asked and this matter, beginners appeared indignant. "Don't do this," he said, "I finally add some financial materials to go in."
5.4
Does a good farmer will miss a crop he breed?
Do you have a good teacher to give up what is the worstiversity student?
Does a good father will allow which child is hungry?
Do you have a good programmer who does not want to maintain his procedure?
Sixth management
Programming Master is said:
"Let the programmer more managers less - then productivity will be high."
6.1
When the managers have not opened it, the programmers write some games; when the financial executives talk to the quarter profits, the development budget is about to be cut; when senior scientists talk about the blue sky, immediately It will rise up.
In fact, this is not a programming.
When the manager is loyal to the duty, the game program will be put on stand; the financial executives have developed a long-term plan, and the harmonious order will recover quickly; when senior scientists start in front of the problem, these problems will soon solve the problem. .
In fact, this is the way of programming.
6.2
Why does the programmer do not have an efficiency?
Because their time is wasted at the meeting.
Why is the programmer hard to deal?
Because management multi-tube idle.
Why is the programmer resigned in two consecutive places?
Because their enthusiasm has been exhausted.
Working under poor management, they are no longer dedicated.
6.3
A manager is about to be dismissed, but at this time, a programmer under his hand invented a new program. This program is popular and is extremely sold. As a result, the manager returned to the original position.
The manager tried to send it to the programmer, but the programmer refused. He said: "I wrote this program, because I think this is a very interesting idea. I am not expected to have a reward."
The manager heard this, commentary: "Although this programmer is in a sense of life, it can understand the responsibility of an employee. Let's promote him to the high level of the management consultant!"
However, after receiving the notice, the programmer refused again. He said: "I am in my position can be better programmed. If I have been improved, in addition to waste everyone's time, I will not be angle. Can I go? I still have a program. "
6.4
A manager came over to his programmers: "About your work hours: You have to get 9 o'clock in the morning, from 5 o'clock in the afternoon." After listening to this, all the programmers are very angry, including Several people want to resign on the spot.
So, the manager had to say again: "Okay, if you can arrange your own time, as long as you complete the project on time." The programmer is satisfied. In the future, they came to the office at noon and worked together in the early hours.
The seventh company
Programming Master is said:
"You can give a program to a company president, but you can't make him learn to use the computer."
7.1
A beginner asked the master: "In the East (here, he refers to the US East Coast, there are many big companies - translation), there is an unusual tree structure, people call it a 'company headquarters'. It The vice president and the number of financial executives are large, making it can't be a switch. It issues a master's confidence, and every copy is written "Returning", but no one knows what it means. Its branches have a new name every year. How can a unactmapped entity continue? "The master replied:" You explore this huge Dengzheng without reasonable use. " I can't. Can you have fun from its endless cyclone? Don't you enjoy the carefree easiness of the programming in the part of what it hits? Why do you have no Using everything is upset? "
7.2
In the East, there is a big fish, bigger than all other fish. It became a bird, its wings were like a cloud full of sky. When this bird flew over the land, it brought the news of "company headquarters", losing this news in the middle of the programmer like the water. Then this bird drives the wind, carrying the blue sky, returning to the home.
The beginner programmer stared at the bird because he could not understand; mediocre programmers feared the arrival of the bird, because he was afraid of the news from the birds; while programming masters still working in front of his terminal Because he didn't know that the bird came again.
7.3
The magician in the Tooth Palm brought his latest invention, and the programming master was tested. The magician advised a big black box into the office, and the master quietly waited.
"This is an integrated, distributed, universal workstation," Magician start, "use human engineering principle, use the patented operating system, sixth generation review and multiple state user interface design to complete. Construction this Taiwan workstation, spending hundreds of assistants for a few years. Is this not surprising? "
The master gently raised their eyebrows. "This is indeed surprising." He said.
"The company headquarters has ordered," the magician continued, "Everyone has to use this workstation as an operation platform to design a new program. Do you agree?"
"Of course, I agree," Master said, "I will move it immediately to the data center." So the magician was quickly returned to the ivory tower.
A few days later, an initiator walked into the master's office asked: "I can't find my new program list. Do you know where it is?"
"Know," Master replied, "Those lists are stacked in the data center (Platform" can refer to the operation platform ", or it can refer to ordinary table-translations)."
7.4
Programming Master is not afraid to adjust the position between different programs; the management changes cannot be damaged; he will not be dismissal, even if the project is canceled. Why is this? Because he has a "road" in his chest.
Chapter 8 hardware and software
Programming Master is said:
"There is no wind, the grass is quiet; there is no software, the hardware is not used."
8.1
A beginner asked Master: "I am aware that there is a lot of computers more than all other companies. It is far from the lead, just like Hedi Chicken. It can make a complete business. Why is this?"
The master replied: "How do you ask such a stupid problem? Because the company is big, it is big. If it only produces hardware, no one is willing to buy; if it only produces software, no one is willing to use; if it Just maintaining the system, people will treat it as a maid. However, because it combines all these things, it is shaking it, it is seen as one of the gods. If you don't cost it, it can win .8.2
One day, a master came around from the beginner programmer, he found that the beginner is in full point of hand on the handheld computer game. "Sorry," he said, "Can I look at it?"
The beginners immediately tensely and handed the stuff to the master. "I know this device provides three game level: easy, medium and difficult," Master said, "However, every such equipment has another level, at this level, the game console does not want to win people, do not want Be defeated by people. "
"Excuse me, respected master," beginner begged, "How can I find this wonderful level setting?"
The master threw that thing on the ground and stepped on the crush. Suddenly, the beginner understood anything.
8.3
I have had a programmer, I am good at programming on microcomputer. "Hey, I am going here," he said to another visited programmer, this programmer works on a large host, "I Have your own operating system and file storage device, I don't have to share my resources with anyone else. The software here is consistent, it is easy to use. Why don't you quit the current job? Add to me? "
So, the host programmer began to depict his system to his friend: "The host is like a pensive saints, sitting on the data center. It is connected to the end of its disk, just like the ocean of the machine. Here Software is just like diamonds. It reflects rays as the original jungle. The procedures here are characterized, they pass through the system like a river. This is why I am willing.
Microcomputer programmers heard here, caught in silence. But the two programmers have maintained friendship.
8.4
On the way to Silicon Valley, the hardware encounters the software. The software said: "You are Yin, I am Yang. If we join hands with the same way, we will be famous, and you can make a big money." So, this is a pair of yin and soaking together, thinking how to think conquer the world.
In a short while, they encountered firmware (Firmware, hardware and software), such as IC card - translation), his clothes ragged, hands with root punch, touched. The firmware said to them: "The deposit is in the yin, the yang. It is obscured, it is like a water. It does not pursue the reputation, so no one knows its existence; it does not pursue wealth, because it is completely satisfactory, it exists Space and time. "
Software and hardware, consciously embarrassing, turning home.
Chapter 9 End
Programming Master is said:
"It's time to be a teacher."