There is a restaurant chef who cooks delicious dishes, passing from one to the next. Diners come from all over the world. But this is not just good news for the hotel’s owners. Because the guests did not rush to the restaurant, they rushed to the chef’s craft. The boss must try to keep the chef, otherwise he willWhen someone is poached, the business of a restaurant will go down. However, even if the boss spared no expense in ensuring the loyalty of the chef, the risk still exists.
When a chef breaks or asks for leave, the taste of dishes can not satisfy customers.
There is only one chef. If you want to open branches in many places, the taste will not be guaranteed.
The chef is more powerful, and at the same time he can only stir fry a dish, and more and more customers, the output is always in short supply.
The chef always retires when he is old. How can he keep his apprentices loyal if he accepts them?
One day, the boss suddenly realized that it was the chef’s cooking process, not the chef himself, that decided the taste of the dishes. If the chef is willing to write out the recipes for each dish, can he ask another chef to do it? Although others may not get 100 points of the original flavor according to the recipe, but 90 points can always be achieved, and such a gap can not be distinguished by ordinary diners. So long as the menu is in place, the quality of restaurant dishes can be guaranteed, and the expansion of stores and branch stores will be no problem.
So the boss talked with the chef for one night and persuaded him to buy shares with recipes. A few years later, the restaurant business is getting better and better, opened innumerable branches, the boss made a lot of money, the chef also got a generous share, no longer rely on every day to eat craftsmanship.
How does this story enlighten you?
What is programming?
Before the advent of the washing machine, people could only wash clothes by hand. It took hours a day to go through a series of processes, such as soaking, kneading, rinsing and twisting. And the invention of the washing machine liberated the hands of housewives, allowing them to do other things in the time they used to do laundry. With the laundryThe machine is being upgraded iteratively, and the entire laundry process will eventually be forgotten, as only engineers who design the machine know.
So-calledA program is a logical process designed to fulfill a requirement.The chef’s recipe and the washing machine’s workflow are programs, but the former is executed by a person and the latter by a machine. It is because the program acts as a medium that we can separate the roles of the designer, caller, and executor. Although the execution effect of the program may not be satisfactory to its designer, it can already be used.Out of the designer, it can be executed, verified and improved by others.
So-calledProgramming means programming.The process of cooking the dishes is essentially programming. Through programming, we can understand and expound the essence of things more thoroughly, so that things that once belonged to a person, a group, a place or even a moment can exist and develop independently. From this point of view, programming is creating life.Life is not too bad.
Programming can be said to be a standardized writing.Standardization ensures the quality of services and products, and makes large-scale replication and expansion possible. KFC is relying on its food-processing manual, which covers everything from the temperature of fries to the seconds of oil, to open its stores around the world. If Tao Huabi can not clearly describe the formula and production process of her hot sauce, submit it to the standard.If the production line is standardized to make, then today’s “old dry mother” is only a Workshop-Class product in a small village, it is impossible to walk onto our table.
Every day of our lives, we deal with a variety of technical products and services, such as navigation, search engines, chat software… Have you ever wondered what the principles behind these products and services are? I believe that most programmers will not think about these problems except programmers.The essence of programming is to design a logical process to fulfill the specified requirements so that the caller can achieve his goal without knowing the implementation details.
Since the broad concepts of programming and programming are too general to confuse the concepts, we then refer to “programs” and “programming,” specifically programs written in computer programming languages and run by machines.
Liberation time and attention
Suppose you’ve been in a certain position for a while, and based on your experience, there are three things you need to do before you leave work every day:
A. Query the data of a business in the company’s intranet system on the day (about 10 minutes);
B. Sort out daily reports and file them (about 15 minutes).
C. E-mail several core data to the leader (about 5 minutes).
You can write it down, paste it on your desk, or keep it in mind, and follow it every day before work to make sure every step is not missed. Although it’s exciting to study and organize the process, it’s boring to run the same routine once a day.Tasteless… Wait, can’t I find a secretary to do this job?
Certainly.Hiring someone is a solution that uses money for time.But at the same time, many new problems have been introduced.
- You need to spend money.
- You need to explain what needs to be done to the Secretary and make sure that he understands (communication cost).
- When a secretary comes to work or takes a vacation, you have to do it yourself.
- You have to be responsible for the mistakes made by the Secretary (quality is not guaranteed).
- Every time a secretary makes a mistake, you need education (training cost).
- Secretaries will directly contact business data and information, and there is no possibility of leakage.
- For a secretary, all of these things have to be done again.
Is it not complicating things?The cost of human beings is too high and the services provided are not reliable.And if you can program, maybe you can:
- Make a small program to complete the process of checking data, making reports, sending mail, and then configure a timed task to be executed automatically every day.
- If you are more careful, you can send the program to your mailbox first, check that there is no problem and then forward it to the leader.
- If necessary, you can also let the program send an alarm notice to your mailbox or cell phone when an accident occurs.
- If you want, you can even add the mail report function to the intranet office system directly.
Assuming that it takes you half an hour to manually complete the ABC process, each time your program executes, it saves you half an hour. If it takes you three hours to write the program, you’ll be able to recoup the cost in a week, and you’ll be able to make all the money in the future. If the program runs long enough, then a single time.The running cost of the operation will be near zero. It can be seen thatProgramming is a solution that takes time to change time.
Of course, you need to write the process you’re going to do into a machine-readable program; if the requirements change, you need to modify the program accordingly; if the program runs out of BUG, you need to debug and fix it… But what is more important is:The program is unpaid, it can’t quit, it doesn’t need a break, it doesn’t get emotional, it can’t make mistakes, it can run for 7 * 24 hours as long as your process is right and the resources you depend on don’t go wrong.
Every time we realized a requirement through programming, it was like creating a hammer. In future, if you encounter similar problems, you can use this hammer to solve them. Of course, sometimes the hammer is not called the hand, and needs improvement and adjustment. But in most cases, this hammer can be used directly. AlsoThat is to say:Exactly the same problem, you only need to solve it once, and do not waste time in repetitive work.
By programming, you can take the boring repetitive tasks to the machine to take over.You can liberate your time and attention from specific tasks and do more valuable things.For example, research and optimize workflow, or accompany family members, or read a book.
Experience the life of “hang up”
Friends who like online games may know about plug-ins, which refers to small programs that run with games to enhance the game experience. Plug-ins are generally divided into two kinds, one is within the framework of the game system to simplify the operation of the player’s auxiliary plug-ins, providing such as automatic pick-up, automatic strange, key changes and other functions; the other isUse of game vulnerabilities to create unequal cheating plug-ins, such as opening, acceleration, invincible and so on.
When we say someone is “hanging up”, it is actually saying that his performance is obviously beyond the normal range. We can imagine that when the primitive aborigines met an American soldier with a submachine gun and a parachute coming down from the sky, it was like, “I X, this guy hangs up?” Feeling.
You know, the reason why humans, whose bodies are not strong, can conquer the earth is that we create and use tools to break through physical limitations and do things that are not possible.In the coming full information age, programming will be the main method of creating tools and even using tools.The software and APP we use every day, whether it’s word processing, K-song software or search engines, have been integrated into our lives and become an extension of our lives. By using these software, we can constantly break through our own limitations of experience and ability, and we are always giving ourselves.Hang on.
howeverMost people are passively waiting for others to satisfy their needs.They use software that they push to themselves through various channels, such as friends’recommendations, advertising campaigns, and then say, “Wow, that’s still possible!” They only use the standard functionality provided by the software, and some personalized special requirements can only be abandoned if the software does not support them. This is just like wearing clothes.Most people only buy standard size clothes. If it’s tight and loose, it’s long and short, and it’s hard to bear.
AlsoA small number of people will take the initiative to consider how to meet their special needs.They will think, “if only the XXX function is good…” They will take the initiative to find software that meets their needs, to study software personalization, or to give software developers functional advice, of course, if the developer does not bird him, there is no way out. Similarly, those who pursue individuality may find tailors.Custom-made or altered clothes to suit them as much as possible. Of course, tailors are more welcome to popular demand, some of the small popular demand could have been achieved, but will be rejected for various reasons.
onlyVery few people have the ability to achieve their own needs that others can not meet.They can develop plug-ins based on the original software, redevelop the software, and even write a new software. Similarly, people who pursue perfection may personally check the design, material selection, processing and other aspects of a garment and change it over until they are completely satisfied.
If you learn to speak English well, you can open a door for your world and let you have more choices.Learning to program well gives you the opportunity to understand and transform the world from a “God’s perspective” with almost unlimited possibilities.Because in reality everything will eventually be informationized, and you can do any form of processing and processing of information through programming, as long as you want, you can do it.
Do you want to experience “open” life? Then start learning programming.
Cultivate an in-depth way of thinking.
Everyone should learn to program, because it will teach you how to think.
—— Apple founder, Jobs 
Thinking is the reason why people are human behavior, and programming is a kind of thinking of people to rethink the behavior.We do not need to think clearly about everything, we can survive in the real society. For some professions engaged in mechanical operations, it may not even be necessary to think. However, in programming, we can only write the program after we think clearly.
In fact, programming is the process of “materializing” people’s ideas, which requires us to think more deeply, more carefully, and more comprehensively.In order to implement a requirement, you must have a thorough understanding of its principles and workflow, otherwise you cannot describe it accurately in a programming language for the machine to execute. In the process of materialization, the structural flaws and logical flaws of ideas will naturally emerge, and you will always find possibilities that are not taken into account.And the details that need further consideration. While writing correct, efficient, elegant programs, we are constantly shaping our brains to think more clearly and operate more efficiently.
Programming requires us to be able to split things and processes in various dimensions, and to think completely and coherently at different levels of abstraction, making it possible to solve problems of immense size.By dividing them at the abstract level, we can think of the whole at the macro level and of every detail at the micro level. Fine-grained requirements that are reasonably split are straightforward and more suitable for teamwork, and the results can be reused in different scenarios. In a mature software or Internet Co,It’s common for thousands of engineers to work together to develop the same product, and the scale of this collaboration is almost unthinkable beyond the behavioral arts.
Programming is the process of constantly solving problems, and is also the process of constantly improving the methodology of solving problems.A good programmer is always a master of problem solving. In every stage of programming, such as requirement definition, scheme design, coding implementation, debugging and error correction, there will be endless problems. Should we solve this problem? When will it be settled? What is the root of it? What aspects should be considered? How to make trade-offs? YesWhich options are available? What is the principle of choice? The methodology of solving problems has shown that we can write a book and have a chance to have a good chat with you.
Better survive in the future
Half a century ago, 70% of the population in the United States worked on farms; with the spread of automated farming, less than 1% is left.
—— Kevin Kelly, “necessity”
So far,Simple repetitive tasks such as laundry, farming, manufacturing, etc. have been almost completely taken over by machines, and the direction of human work has shifted to the development and maintenance of machines.And jobs that require complex knowledge and sophisticated operations (such as driving a car, surgery, etc.) are being taken over by machines.
Capital has self will, it will pursue unlimited growth without restriction, and it will not be changed by human nature.So when the quality of output remains unchanged and the cost of machinery is significantly lower than the cost of labor, almost all manual workers will lose their jobs. After all, machines are tireless, don’t complain, work faster and better than people and save money. How can humans compete with machines? Only in some developing countries enjoying demographic dividends.For example, in China and India, because the cost of technology introduction is higher than labor costs, there is still room for manual workers to survive. But the cost of technology will inevitably fall rapidly and continuously, and the demographic dividend window will quickly disappear, and the inflection point will soon come.
Meanwhile,Artificial intelligence is gradually taking over the simple repetitive thinking activities of humans (such as pathfinding, translation, etc.), which require only orders, principles, and choices.Artificial intelligence has even entered the realms that we think are human beings: writing, composing, painting…
Google Alpha Go’s victory over Li Shishi was a landmark event, and it proved that artificial intelligence has been able to transcend humans in the field of thinking that humans are best at. Now the best players are learning to play from AI, professional players and AI routine training has become the norm. Pure machine ratio pureMan is strong, man machine is stronger than pure machine, this is already the consensus of chess circles.
When the ability of artificial intelligence in a field of thinking is close to or more than human beings, and its cost is extremely low, under the role of the will of capital, this field will be irreversibly quickly occupied by artificial intelligence. We’re used to using calculators today instead of the brain to do numerical calculations, and we’re going to do it in the near future, too.It will be used to deal with many problems that need to be considered by oneself to artificial intelligence. In the foreseeable future,All non-creative jobs based on experience and skills will disappear, and the direction of human work will shift to the development and maintenance of artificial intelligence.
The age of full-scale popularization of artificial intelligence is racing towards us at the speed of light, possibly leaving us far behind in the next second without even seeing the taillights. At that time, almost all jobs will be inseparable from AI.Only those who understand AI, can work well with AI, and help improve it, can survive better in that era.
Everyone should start learning programming as soon as possible. My kids start too late. I think it’s time to teach them ABC and color.
—— The forty-fourth president of the United States, Obama 
In the future, what language should we learn? In this article, I thought about possible future brain interface technologies and the use of structured languages with their associated human-computer systems. By then our brains will be directly connected to the Internet and artificial intelligence, and will be able to instantly download the required knowledge and information to the brain… We will becomeThe existence of God. But the premise is that you must have the programming basis to enjoy the fruits of this revolutionary technology.
If you hadn’t learned programming yet? That’s enough to wash and sleep.
I know you will ask…
I’m not going to be a programmer. Is it necessary to learn programming?
You may be driving, or an old driver, and enjoy driving, but you don’t necessarily want to be a taxi driver, do you? In the same way, learning to program doesn’t have to be a programmer, but it gives you a whole new perspective, an in-depth way of thinking, and a pervasive way of thinking about efficiency optimization that will become you.Important soft power.In the near future, programming will become an essential skill for everyone, like English and driving.By that time, do you want to be an old driver or a family rider?
Laughing, the teacher once said, “is learning useful?” It’s actually a terrible idea. Since many things now seem useless, most people give up learning, and only a few people will try with the idea of “learning to see what’s useful”. One day after that, we really need this technology.Those who choose to give up can only sigh with emotion when they are able to be with knowledge. All right! ” And those who choose to learn will be surprised to find “Wow, they could still be used here!” The so-called “surprise” and “luck” are actually things like this: unconsciously, ready in advance.
Can I make money now and hire a professional programmer?
Yes, you can find a programmer to implement your idea, but many of the problems we encountered when we asked a secretary before will follow. What’s more, if you can’t program, you may not even get a coherent idea. Just like people who have never seen a car, they only think about letting others build a car for him.Faster carriage.It is only after understanding the principles of something that the concept of that thing becomes clear in your mind and truly integrates into your cognitive structure.
With a clear concept, you can think about it and decide what it can and cannot do. If the concepts are not clear, you can’t even explain your needs, making it harder to communicate and collaborate with programmers. Every programmer will collapse when facing the demand of “make me a Taobao”.Broken.
My English is very bad. Can I learn how to program?
English is not the bottleneck of learning programming, the key lies in understanding its concepts and principles, and changing the way of thinking.Although almost all programming languages are English, there are so many commonly used keywords. Just as you can travel abroad if you can speak Sorry and How much, programming requires little English. Popular language related books, commonly used software basically have medium.Text. If you want, you can even use Chinese to name variables, functions and classes in the program.
When is it better to learn programming? I have worked for many years. Is it still too late to start learning?
It’s not too late to start at any time, of course, the sooner the better.
Wang Jiangmin, the author of China’s first anti-virus software KV300, started learning programming at the age of 38. As for how to learn and where to start, this will be my main direction of thinking this year. Please look forward to my follow-up series of articles on Public Numbers. Maybe you can try these websites first.
http://www.codecombat.com ：Through the game to enlightenment, there is a Chinese version, suitable for beginners.
http://www.khanacademy.org ：Pure English video instruction is suitable for learning tyrants and note taking parties.
http://www.codecademy.com ：Interactive combat is the best, but it needs a certain foundation.
Once upon a time, if you wanted to build a website service, you would need to buy professional servers with tens of thousands of ruts, pay for expensive hosting and bandwidth leasing, hire professional developers or teams to research and develop, and then attract users through advertising and operating activities… The threshold is so high that most people are deterred.Only enterprises can afford it.
Today, cloud servers are even cheaper than broadband at home, open source technologies are available, open platforms offer free users and channels, and an APP can be instantly popular across the country through social networks… There are such cheap card computers as raspberry pie, plus all kinds of appliances now.All of them are developing towards intellectualization. It’s really not easy to realize some of their own small ideas by programming.
We are in an era where we can change the world if we are willing to think.Are you willing to change the world or wait for the world to change?