Since the Western Renaissance, China has lagged far behind the West in natural sciences, and the field of software is no exception. Of course, many programmers in China may have many different opinions on this, some believe that the level of Chinese programmers is far behind that of the West, and some believe that the personal ability of Chinese programmers is not worse than that of Western programmers, but the entire software industry is backward.
So, is the level of programmers in China worse than that of Western programmers, or is there many excellent programmers in China who have reached or exceeded the same level as Western programmers? To solve this problem, we must first know how many technical levels programmers have, what kind of technical level each level requires, and then compare the number of people in China and the West at each technical level, so that we can know whether there is a gap and how big the gap is.
Of course, different companies or different people will have different classification standards for how to divide the technical level of programmers, and the following divisions only represent personal opinions.
The first layer is a rookie
The first floor belongs to the floor level, and the threshold for entering this floor is very low. Basically, you can start by understanding the basic operations of computers, understanding some basic knowledge of computer majors, and mastering a basic programming language such as C/C++, or Java, or JavaScript,...,
In addition to the large number of graduates from computer majors, there are also a large number of people in communications, automation, mathematics and other related majors entering this industry, in addition to many people who have changed careers in other majors, the number of people is definitely much more than in the West. And another advantage is that the average IQ of our personnel is definitely higher than that of the West.
Not many people want to be a rookie for a lifetime, because the taste of being a "rookie" is really bad, and they are shouted by the bosses all day long to install the machine, build a test environment, or do some black box tests against the test cases written by others, and the better ones can be arranged to write a little test code. Of course, if you are "lucky", you will also have the opportunity to write some formal code when you encounter some workshop-style companies in China.
Therefore, rookies are always studying hard, hoping to climb to a higher level.
Tier 2 prawns
Climbing from layer 1 to layer 2 is relatively easy, taking C/C++ programmers as an example, as long as they are proficient in the C/C++ programming language, master the C standard library and various commonly used data structure algorithms, master the basic implementation and use of STL, master the basic knowledge of multi-threaded programming, master a development environment, and then use the APIs of various operating systems Learn some basic knowledge of testing, software engineering and quality control, most people can climb to the second level after 2~3 years of hard work, and be promoted to "prawns".
The number of "prawns" and "rookies" in China is estimated to be not much less, so this layer is still far ahead of the West.
Prawns are usually still a little self-aware, knowing that they can only achieve some simple functions, can't do big things, and sometimes encounter some difficult problems to get stuck, so they usually admire those big bull-level figures very much, foreign ones such as Robert C. Martin, Linus Torvalds, domestic ones such as Qiu Bojun, Wang Zhidong, etc. are usually the objects of their worship. Some of them hope to reach the level of these big bulls one day, so they continue to climb upstairs.
The third layer is a cow man
For example, taking the proficiency of the C++ programming language as an example, in addition to learning some basic C++ books such as "C++ Primer", "Effective C++", "Think in C++", "Exception C++", etc., more importantly, they need to understand C++ The principle and implementation mechanism of the compiler, understand the internal mechanisms in the operating system such as memory management, process and thread management mechanisms, understand the basic knowledge of processors and code optimization methods, in addition to more in-depth learning of more data structures and algorithms, master more in-depth testing and debugging knowledge, quality management and control methods, and have a better understanding of various design methods.
Learning the above knowledge is not achieved in one stroke, and it cannot be done without reading thirty or fifty books and mastering it. In terms of data structure algorithms, you need to read at least 5~10 books in this area; In terms of software design, it is not enough to understand structured design, object-oriented design and some design patterns, but also to understand software architecture design, interaction design, aspect-oriented design, use-oriented design, data structure algorithm-oriented design, emotional design, etc., otherwise it is difficult to enter this floor.
Of course, in addition to the knowledge mentioned above, prawns also need to learn various experiences and skills. Of course, this is not difficult for them, there are many books published now, and there are countless technical articles on the Internet, and then go to various professional forums to master the various experiences, skills, and techniques in these books and articles, and then learn some well-known open source projects such as Apache or Linux operating system source code implementation. At this time, dealing with general difficult problems is usually not a problem, rookies and prawns will think you are very "bull", and you will climb to the third floor and be promoted to "bull man".
After reading the requirements mentioned above, some prawns may faint, and they have to learn so many things to become a cow man! Isn't the requirement too high? In fact, the requirements are not high at all, if you can't master such a little thing, how can you make others think you are a "cow"?
It should be mentioned that after entering the multi-core era, climbing from layer 2 to layer 3 has added a threshold for multi-core programming. Of course, it is not difficult to cross this threshold, there are already many senior masters who have stepped into this threshold, as long as they follow in their footsteps. Those who want to enter this threshold may wish to learn the source code of the TBB open source project (link:The hyperlink login is visible.), and then go to Intel's blog (The hyperlink login is visible.) and the Multicore Forum (The hyperlink login is visible.Go read the relevant articles and buy a few related books to study.
In China, once you become a "bull man", you can usually go to many well-known companies, and it is not surprising that the lucky ones can hang up the title of architect, or even the title of "chief architect" or "chief xx scientist". Many people who climb to this floor think that they have reached the roof, they can look up at the sky, and begin to look at everything, thinking that they can do everything and understand everything. It can also be seen that the number of cattle people in China is still large, far more than the number of cattle people in the West, and it is still leading in this level.
There are also many modest "cattle people" who know that they are not yet in the stage of half a bucket of water. They know that the game of climbing stairs is like a monkey climbing a tree, looking down is a smiling face, looking up is a butt. In order to see more smiling faces and less buttocks, they did not stop here, but continued to look for a higher flight of stairs in order to continue climbing up.
Level 4 Big Bull
Climbing from the 3rd floor to the 4th floor is not as easy as the ones mentioned above, if you want to become a big bull, you must be able to do what the cattle can't do, and solve the problems that the cows can't solve. For example, Niu people usually don't know how to write operating systems, can't write compilers, and don't understand the underlying implementation of TCP/IP protocol, if you have the ability to implement any of them decently, then you will upgrade from Niu people to "big cows".
Of course, due to the differences in various professional fields, the operating system, compiler, and TCP/IP protocol are only used as examples, which does not mean that you must master these knowledge to become a "big bull" , or write a database, you can become a "big cow".
Generally speaking, at least 200~400 professional books have been read and mastered well, in addition, you have to pay attention to the latest information on the Internet and journals and magazines.
When the "cattle people" were promoted to "big cattle" and the "cattle people" discovered that there were people who were better than them, the shock to the hearts of the "cattle people" can be imagined. Due to the huge number of cattle people and the influence of cattle people on the prawns and rookie class, the cattle usually gain a very high social popularity, which can almost be described as "attracting countless rookies, prawns, and cattle people to bend their waists".
Although the conditions for becoming a "big cow" seem to be very high, this floor is not a difficult floor to climb, as long as through certain efforts, the quality is not very bad, there are still many "bull people" who can climb to this floor. It can be seen from this that the number of people on the floor of "Big Bull" is actually not as small as imagined, and people such as Bill Gates seem to belong to this floor.
Since there are many people in the "big cow" layer, it is difficult to count whether there are more "big cows" in China or the more big cows in the West? I guess it should be a comparable number, or there will be more "big bulls" in China.
Seeing this, many people may think that I am talking nonsense here, Linus Torvalds wrote the famous Linux operating system, no one in our country has written anything like it, how can our country's "big cow" be compared with the West? I don't know if you have noticed, Linus Torvalds just wrote a "decent" operating system prototype, and Linux later really developed into a world-famous open source operating system, entirely because many commercial companies that supported open source, such as IBM, sent many behind-the-scenes heroes from higher floors than Linus Torvalds to develop it.
Some rookies may think that Linus Torvalds is the god of programmers, so you might as well tell a little story:
Linus, Richard Stallman, and Don Knuth (Gartner) attend a conference together.
Linus said, "God said I created the best operating system in the world. "
Not to be outdone, Richard Stallman said, "God said I created the best compiler in the world." "
Don Knuth said with a puzzled face: "Wait, wait, when did I say these words? "
It can be seen from this that Linus Torvalds' technical level is not as high as imagined, but the "bull man" and "prawn" feel that the "big cow" is better than them. In our country, there were some people who were still in the "prawn" layer at that time, and they could also write books introducing how to write operating systems, and they wrote very well, and they wrote an operating system with a little bit of decentness. I think China's "big cows" are no worse than the West, and the reason why no one has written similar commercial products is entirely due to the social environment, not because of the lack of technical ability.
The main reason why the "big cows" became big cows was because they covered the "cow people", not how they thought they were cows. There may be many rookies, prawns and even cattle people who think that the "big cow" layer has reached the top, but most of the "big cows" are estimated to be self-aware, they know that they have not climbed halfway up the mountain now, so they can barely calculate the level of half a bucket of water, some of them climb to this floor without being tired, still full of energy, and have the will, they will continue to climb to the next level.
Seeing this, maybe some rookies, prawns, and cattle people can't figure it out, and there are floors higher than the "big cows", what kind of floor will it be? Let's take a look at the mystery of the 5th floor.
Tier 5 Experts
When the big bulls really make an operating system or similar other software, they will find that their basic skills still have a lot of shortcomings. If you automatically implement a memory management algorithm, he will find that there are many algorithms about memory management methods, and he has not learned and practiced them all, and he doesn't know which memory management algorithm to use.
Seeing this, some people may have understood the mystery of the 5th floor, that is, basic research is needed, of course, in the computer, the most important thing is the word "calculation", programmers to do basic research, the main content is to study non-numerical "calculation".
Non-numerical computing is a very large field, not only the popular "multi-core computing" and "cloud computing" belong to the category of non-numerical computing, that is, software requirements, design, testing, debugging, evaluation, quality control, software engineering, etc. are essentially in the category of non-numerical computing, and even chip hardware design also involves non-numerical computing. If you haven't really grasped the meaning of the word "calculate", then you don't have a chance to get on this floor.
Some people may still not understand why Bill Gates was placed on the big bull level and did not enter this level. Although Bill Gates has not graduated from university and his education is not enough, he has a collection of more than 20,000 books at home, and he entered the software industry earlier than most people, aside from his business talent, even if you only look at his technical level, it can be regarded as a rich five cars, and there is no problem with the sum of several ordinary computer software doctors on top, compared to Linus Torvalds and other "big bulls" should be superior, why can't they still enter this floor?
If Google's understanding of computing is compared to a college student, Bill Gates can only be regarded as a junior high school student, so Bill Gates can only be a big man and cannot become an "expert".
Seeing this, maybe the domestic bulls will be happy, it turns out that Bill Gates is only on the same level as me, and as long as he rises one more level, he can surpass Bill Gates. However, climbing to this floor is not as simple as upgrading from "cow man" to "big cow", Bill Gates has more than 20,000 books, so you can read more than 500~1,000 professional books and master it should not be high. Of course, this is not the main condition, more importantly, you need to go to a professional academic site to study, to ACM, IEEE, Elsevier, SpringerLink, SIAM and other places to download papers should become your regular homework, and using the academic search in Google search engine should become your daily compulsory course. For example, when you hear about an open source project like TBB for multi-core, you should immediately enter "TBB" into Google and search for it, download its source code and study it carefully, so that maybe one of your feet has almost reached the threshold of this floor.
When you do what I said above, as time goes by, one day, you will find that you can't learn anything new in many small fields, and you know almost all the latest research results. At this time, you will find that your level is much higher than when you were a "cow man" and a "big cow", but you can't be "cow" at all, because the knowledge and ideas you learn are all put forward by others, and you don't have much of your own knowledge and thoughts to share with others, so you have to continue to climb upstairs.
I don't know how many "experts" there are in China, but one thing is for sure, if we include those "brick families" who specialize in Mengdae, our brick families are much more than those in the West.
Level 6 Scholars
When the "experts" wanted to continue climbing one floor, they could see the entrance to the stairs almost at a glance, but to their surprise, a high threshold was erected at the entrance of the stairs with the word "innovation" written on it. Unfortunately, most people are physically exhausted by the time they climb to the 5th floor and are unable to cross this threshold.
There are a few people with sufficient physical fitness who can easily cross this threshold, but it does not mean that those who are over-exerted cannot cross it, because you just haven't mastered the way to restore physical fitness for the time being, when you have mastered the method of restoring physical fitness, you can easily cross this threshold after recovering your physical fitness.
How can I recover my physical fitness? Our ancestor "Confucius" has long taught us to "review the old and know the new", in English, the word "research" is "research", and I don't need to explain what the prefixes "re" and "search" mean. Some people may think that "reviewing the old and knowing the new" and "research" are a bit abstract and difficult to understand, let me give you a simple analogy, for example, you are climbing a high mountain, climbing for a long time, and you are exhausted in the middle, how to recover your strength? Naturally, take a break and eat some food again, and your physical strength can be restored quickly.
It can be seen that for those who are over-consumed, rest + re-eating is usually the best choice to recover physical fitness. Unfortunately, domestic bosses do not understand this, and their companies not only do not even give enough rest time stipulated by the normal state, but some companies even have employees who "die from overwork". Therefore, there are "very few" people in China who can cross the threshold of "innovation", which is estimated to be an order of magnitude different from the West.
Let's talk about the problem of re-eating, this re-eating is particular, you need to eat some basic and easy-to-digest simple foods, and you can't eat complex foods at the level of mountain delicacies, otherwise it is difficult to absorb quickly. Taking search as an example, it is not to stare at those complex search structures and algorithms every day for research, what you need to do is to review the basic knowledge such as binary lookup, hash lookup, and ordinary binary tree search several times.
Taking hash search as an example, first you need to write various conflict resolution methods such as chain structure, quadratic hash, etc., and then try different types of hash functions, and then you need to try how to implement hash lookup on the hard disk, and consider how to organize the data in the hard disk after reading the data from the hard disk to memory,..., so you may need to write a hash table to more than a dozen different versions, and compare the performance, functionality differences and scope of application of each version.
In short, for any simple thing, you need to consider a wide variety of needs to drive research with needs. In the end, you will understand all the most basic search structures and algorithms in your chest, and maybe one day you will look at other more complex search algorithms, or when you are walking, you have a flash of inspiration in your head, and suddenly you find a better way, and you will be promoted from expert to "scholar".
For example, others invented a method of chain cardinality sorting, and you first discovered that you can use a certain method to replace the linked list for cardinality sorting, and the performance can be further improved.
Since scholars only need some small optimizations and improvements, there are still a certain number of scholars in China. However, compared with the number abroad, it is estimated to be an order of magnitude less.
Some people may think that the number of patents applied by many companies in China has reached or even exceeded that of Western developed countries, and the number of scholars in our country should not be much less than theirs. Therefore, it is necessary to explain the difference between patents and innovations mentioned here.
The so-called patentee can apply for a patent as long as it is something new that has not existed before; Even if you use it in a new field, you can apply for a patent. For example, if you build a cement pillar in a house, as long as no one has applied for a patent on this matter before, then you can apply for a patent, and the next time you move the cement pillar to a different position, you can apply for a new patent; Or you can apply for a patent if you make a few holes in a cabinet and change the position of the holes next time,...,
The innovation mentioned in this floor refers to innovation at the academic level, which is innovation in basic research, which is completely different from the concept of patents, and the difficulty is also completely different. Even if you apply for 10,000 patents like that kind of punching, you can't reach an innovation on this floor.
When you climb to the 6th floor, you may have a sense of pleasure of breaking through the limit, because you have finally crossed the high threshold with the word "innovation" written on it and achieved a breakthrough of "0". At this time, you may have a feeling of "going up to a tall building alone, wanting to go to the end of the world", but soon you will find that what you see is a relatively close road, and you can't see the road in the distance at all. If you still have enough stamina, you'll want to climb to a higher floor.
Level 7 Master
There are not many shortcuts to climb from the 6th floor to the 7th floor, mainly depending on whether you have enough energy. If you can design a quick sorting algorithm like Hoare; or, like Eugene W. Myers, he designed an algorithm to solve the diff problem by using the shortest path model of the edited graph; Or, like M.J.D. Powell, proposed an SQP method that can deal with nonlinear programming problems; Or you find a comparison-based sorting algorithm with a complexity lower bound of O(NLogN); Or you find that you can use a stack to turn a recursive algorithm into a non-recursive one; Or you design a lookup structure such as a red-black tree or AVL tree; Or you design a language like C++ or Java; Or you invented UML; ..., you climb to the 7th floor and are promoted to "Master".
Some of the above examples stand on a higher floor than this one, and here are examples of one of their achievements just for illustrative purposes. From the contributions of some of the masters listed above, it can be seen that to become a master, you must have a great contribution. First of all, solving the problem must be more important, and secondly, you must have a greater improvement than your predecessors in some aspect, or you are solving a new problem that has not been solved before; Most importantly, the main ideas and methods must be provided by yourself, and are no longer optimized and improved on the basis of other people's ideas.
After reading the above requirements, if you don't have enough energy, you may find it a little difficult, so not everyone can become a "master". People who can be called "masters" in China's software industry are estimated to be more than enough to describe them on their fingers. It is worth mentioning that foreign "masters" are flying all over the sky like our "big cows".
I will list the masters who I guess my country may enter this floor, so as to play a role in throwing bricks and attracting jade. Since the "handwriting recognition" technology of the King of Han is completely confidential, I don't know what ideas are used in it and what the proportion of original ideas is, so I don't know whether to move it to this floor or a higher level. When Professor Wang Xiaoyun of Shandong University cracked the DES and MD5 algorithms, I don't know if the method he used was completely original, and if so, he could enter this floor.
Although Chen Jingrun did not completely solve the Goldbach conjecture, the method he used to solve the problem was innovative, so he could also enter this floor. Of course, if the Goldbach conjecture can be completely solved, then it can be counted as a higher floor.
Qiu Bojun and Wang Zhidong and other big bulls, when they are doing software such as WPS and table processing, I don't know if there is a larger original algorithm in it, if there is, even if I mistakenly marked them to the big bull layer. Due to the limited learning, I don't know if there are still people in China who can get the level of "master", maybe there are a small number of professors and academicians who do research, can reach this level, if you know, you may wish to reply to the post to dry.
In view of the halo effect of the title of "master", I believe that many people dream of becoming a "master". Perhaps you have looked at some of the examples of masters mentioned above, and you will feel that it is very difficult to become a master. It may be said that there is now a shortcut to the road to "master", that is, the field of multi-core computing, and there are a large number of virgins waiting for everyone to dig.
Various algorithms that were previously developed in the single-core era now need to be rewritten in parallel. There are plenty of opportunities in various fields such as data structures and algorithms, image processing, numerical computing, operating systems, compilers, test and debugging, and can get you to this floor, and maybe even get you to a higher level.
Tier 8 Scientist
Scientists have always been a sacred title, so I put him above "master". To become a scientist, your contributions must surpass those of the masters, so let's give some examples.
If you design the ALGOL language like Dijkstra and propose the three basic structures of programming: order, selection, and loop, then you can climb to the eighth floor. By the way, even if this result is put aside, Dijkstra can also get to this level with his PV operation and the proposal of the semaphore concept.
If you, like Don Knuth, are important founders of the discipline of data structures and algorithms, you can also enter this floor. Of course, the discipline of data structures and algorithms was not created by one person, but by many masters and scientists collectively.
If you, like Baccos, invented the Fortran language and proposed the Bacchus paradigm, which played an important role in the development of high-level programming languages, you can also enter this floor.
Or if you invented the Unix operating system and the powerful, efficient, flexible, and expressive C language like Ken Thompson and Dennis Ritchie, and made significant contributions to operating system theory and high-level programming languages, then you can also enter this level.
Or you have the opportunity like Frederick P. Brooks to lead the development of IBM's mainframe computer System/360 and OS/360 operating systems, and after failure, reflect and summarize, write "The Myth of the Man and the Moon", and make a landmark contribution to software engineering, you can also enter this level.
Or you put forward the basic ideas of object-oriented design, or you designed the TCP/IP protocol for the Internet, or you laid the theoretical foundation for NP completeness like Steven A. Cook, or you focused on parallel computing to implement compilation technology like Frances Allen, and you can enter this layer ,..., you have made fundamental achievements in compilation optimization theory and technology.
Of course, if you invent the C++ language or Java language, you can't enter this level, because the main ideas you use are all proposed by the scientists on this floor, and you don't have many original ideas in it.
Looking at the achievements of scientists listed above, you will find that to become a "scientist", you usually need to start a subdiscipline, or be the founder of this subdiscipline, or make a milestone and major contribution to a certain subdiscipline. If you can't do this, then you can make important contributions to multiple directions of computational theory, such as pseudorandom number generation, cryptography and communication complexity, like Andrew C. Yao, and become a master, and you can also enter this level.
After becoming a "scientist", if you are lucky enough to be like Dijkstra, in a country that attaches great importance to science. When you die, people in your hometown will automatically go to your funeral. However, if you are unfortunately born in the wrong place, it is estimated that you will be lucky not to be hit by "bricks".
From some of the examples given above, you may guess that the number of Western scientists is very large, so you would think that there should be a small number of scientists in China, right? I can tell you responsibly that the number of scientists produced in China is 0. At present, the only scientist in the field of software in China is Yao Qizhi, who was invited back from abroad, not locally.
Maybe you don't agree with my conclusion that the number of local scientists is 0, because you often see many companies with the title of "Chief XX Scientist". What I want to say is that these so-called "chief XX scientists" are far from reaching the level of this floor, and some people's level is estimated to be the level of a "bull man" or "big bull", and the better ones are at most a "scholar" level. Especially those who are called "chief X-scholars" can basically change their titles to "chief pit everyone".
Although no one in our country can climb up to this floor, there are still many people in Western countries who have climbed to a higher floor than this floor. If you want to ask how far behind we are from the West? Then the answer can be simply as: "three floors behind". Let's take a look at the secrets of a higher level that we never dreamed of.
Tier 9 Great Scientist
It usually takes some luck to get to the threshold of this floor, such as one day when an apple hits your head and you happen to find gravity, then you can enter this floor. Of course, gravity was discovered hundreds of years ago, and if you are shouting everywhere now that you have discovered gravity, I am afraid that someone will call 110 immediately, and then the police will send you to a gathering place of abnormal humans. Therefore, here is an example of gravity, just to say that you have to have similar achievements to get to this floor.
Newton's discovery of the law of gravity created the discipline of classical physical motion mechanics, and if you can also create a big discipline, then you will be promoted from a scientist to a "big scientist". For example, Einstein created the theory of relativity and changed from a small clerk to a big scientist. Of course, there are far more great scientists than these two, there are many more in the mathematical world than in the physics world, such as Euclid created plane geometry, Descartes pioneered analytic geometry, and countless figures such as Euler, Gauss, and Leibniz, and great scientists related to computing include Turing and others.
From some of the great scientists listed above, it can be found that their achievements are not only to create a large discipline, but more importantly, their achievements have risen to the level of "axioms". Discovering axioms usually requires a little luck, and if your luck is not good enough, there is another stupid way to get into this floor, and that is to become a master. For example, von Neumann was very knowledgeable about all branches of mathematics and made great contributions in many fields, even if his pioneering contribution to computers was aside, it was still more than enough to become a great scientist.
Of course, programmers are most concerned about whether they have a chance to become a great scientist. Since the pioneering achievements of computer science have long been taken away by von Neumann, Turing and others, do programmers have no chance to become great scientists? Our ancients said it well: "There are talented people in the country, each leading the way for hundreds of years", and now many very important branches have been born under the discipline of computer, so you still have enough opportunities to enter this floor.
If you can completely solve the core problems in the discipline of natural language understanding (machine translation), or if you have made breakthrough discoveries in artificial intelligence or machine vision (image recognition), then you can also easily be promoted to "big scientist". So that when you die of old age one day, maybe the people of that country have awakened, and you can also enjoy the same treatment as Dijkstra, and people from all over the city and even the whole country will go to your funeral.
There is still another question that everyone is interested in that has not been discussed, that is, Newton, Einstein, Gaussian and other top scientists have appeared on this floor, is this floor already the roof? I believe that those who remember the title of this article should know that it is only the 9th floor, and the 10th floor has not yet arrived. Many people may be confused now, is there still someone standing on a higher floor than Newton, Einstein, Gauss and others?
There are indeed a few people in this world who can be counted with the finger of one hand, and they climbed to the 10th floor. Therefore, the 10th floor is not fictional, but real. If you have any doubts about this or think I'm talking nonsense, then you might as well continue reading and peek into the secret of the 10th floor.
The 10th floor is a great philosopher
After reading the name of this floor "Great Philosophy", many people may have guessed the secret of this floor, that is, your achievements must rise to the height of philosophy before you have the opportunity to enter this floor.
Of course, rising to the height of philosophy is only a necessary condition, and Newton's gravity seems to have risen to the height of philosophy, because I don't know how gravity comes from, but Newton was not assigned to this level, because there are other conditions for entering this level, that is, your results must cause deep philosophical thinking and make people's worldview take a big step forward. I think that the achievements of Newton, Einstein and others have not reached the level of making people's worldview a big step forward.
Therefore, the achievements of the people on this floor are very important for us ordinary people to understand the world, you can not learn the theory of relativity, but you must not understand the achievements made by the people on this floor, otherwise your worldview will be extremely incomplete and you will make many mistakes in understanding. Unfortunately, the popularization of popular science knowledge in China is not in place, and there seem to be not many people who know the achievements of this level, and I am afraid that there are even fewer programmers. Let's take a look at what achievements of these great philosophers who have been counted with one hand can be more important than the law of gravity and the theory of relativity.
1. Hilbert (1862~1943)
The first person to enter this floor is a great mathematician named "Hilbert", if you have studied "Functional Analysis", then you may already know about this great mathematician when you study Hilbert space; If you are not from a mathematical background and are not interested in the history of mathematics, I am afraid you have never heard of this name. But if I ask if the World Mathematics Center was there before World War II, you will definitely be interested to know.
It may be said that before World War II, the mathematical center of the whole world was in Göttingen, Germany, and our great mathematician Hilbert was its commander and soul. Even during World War II, Hitler and Churchill had an agreement that Germany would not bomb Oxford and Cambridge, and in return Britain would not bomb Heidelberg and Göttingen.
Almost all the first-class mathematicians of the first half of the twentieth century came from his school. Here are a few familiar figures, such as von Neumann, who was influenced by the ideas of him and his students Schmidt and Wehr, and also worked as Hilbert's assistant at the University of Göttingen, and Qian Xuesen's teacher von Kamen obtained his doctorate in Göttingen. By the way, the great mathematician found that there were many great achievements in physics at that time, such as the theory of relativity and quantum mechanics, but the mathematical skills of these physicists were obviously insufficient, so he led his students to study physics for a period of time and independently discovered the theory of general relativity, but he was embarrassed to compete with the physicists for credit, and gave all the credit for general relativity to Einstein.
General relativity is actually nothing compared to the contribution of this great mathematician in mathematics, but it can only be seen from this that the nobility of the great mathematician's character can be seen. If you look at the character of Newton's characters, who compete with Leibniz, Hooke and others all day long, use their advantageous position to suppress others, and even go to court, compared with this Mr. Hilbert, he is simply a clown.
Speaking of which, you may have some preliminary impressions of the great mathematician "Hilbert" and feel his importance, but his main achievements in mathematics are not clear in a few words. First of all, he was a master, proficient in all branches of mathematics at that time, and made great contributions to all fields of mathematics. In fact, none of the mathematical problems solved by this "Hilbert" could reach the height of this floor, so how did he get to this floor?
Starting in 1900, Hilbert, who was still very young at the time, gave a report at the World Mathematical Congress at that time, proposing the famous 23 unsolved mathematical problems, and then throughout the first half of the twentieth century, mathematicians around the world carried out research under the guidance of these 23 problems, and many mathematicians are still guided by these 23 problems to this day. For example, the well-known Goldbach conjecture belongs to a sub-problem of the prime distribution of the eighth problem.
If you use "far-sighted" to describe this great mathematician, then I am afraid that there is no second person in this world who is worthy of the word "far-sighted", whether it is Euler, Gauss, Newton, Einstein or the most talented mathematician Galova, no exception.
Although the 23 questions are summarized and not all original, many of them can rise to the height of philosophy and cause deep thinking. Probably most people will think that Hilbert can't get into this floor, we know that the person who asks the question is just as great as the person who solves the problem, not to mention that he asks so many questions, based on this, I personally feel that Hilbert should be allowed to step into the threshold of this floor.
After reading this Hilbert's achievements, you may feel that it has no effect on your worldview. Indeed, the questions he asked were not used to influence you, but to influence other great scientists and philosophers, and now let's talk about another great philosopher who has made outstanding contributions to the second of the 23 questions he asked, and you will feel the power of the great philosophers' achievements.
2. Gödel (1906~1978)
Even if you study a doctorate in mathematics, if your research direction is not the same as this philosopher, you may not necessarily know the achievements of this philosopher, let alone what his achievements mean to our world.
To put it simply, the great philosopher proved two theorems in his 20s, one called "Gödel's Completeness Theorem" and the more important "Gödel's Incompleteness Theorem". You may find it strange that the achievement of the ninth floor has risen to the height of axioms, and this kind of proving theorem is not what scholars and masters do? How can it be higher than the achievement of the 9th floor? Let's briefly talk about the meaning of these two theorems, and you will understand that this is a system-level theorem, which is by no means comparable to ordinary theorems and axioms.
The "Gödel Completeness Theorem" proves that several axioms of logic are complete, that is, any problem generated by these axioms can be judged to be true or false in this axiom system, which shows that our human logical thinking ability is complete. This theorem does not bring it into this floor, it is another theorem that brings it to this floor.
The "Gödel Incompleteness Theorem" was proved in 1930, which proved that several axioms of existing mathematics (ZF axiom system) are incomplete, that is, the problems generated by these axioms cannot be judged by these axioms to be true or false. For example, the first of Hilbert's 23 problems, the famous Cantor continuum hypothesis, Gödel proved in 1938 that the existing axiomatic system cannot be proved to be "false", and Cohen (perhaps a "half" philosopher) proved in 1963 that the existing axiomatic system cannot prove that it is "true". The most interesting thing is that even if you add an undecidable problem as a new axiom, the new axiomatic system is still incomplete, that is, you cannot construct a system of finite axioms to make this axiomatic system complete.
Maybe you still can't understand the meaning of the above passage, so let's talk about its impact on our real world. You may know that the Turing machine that appeared in 1936 is the theoretical model of modern computers, and without the idea of Gödel's incompleteness theorem, it is difficult to say when the Turing machine will come out, so this Gödel can be counted as the founder of computer theory. I don't think everyone knows how much more computers have had a greater impact on our world than the atomic bomb. Of course, the impact on the real world can only put Gödel on the level of great scientists like Turing and others, and there is another reason why he can enter this layer.
Maybe you've seen science fiction movies like "Future Warrior", "The Matrix", "I, Robot", etc., so you came up with the idea of creating an intelligent robot that is the same as or higher than humans, which introduces a philosophical question, "Can humans make machines with the same thinking ability as humans?" ”。
I can only tell you, "Your wishes are good, but the reality is cruel". If you think carefully about the meaning of the incompleteness theorem and analyze it in combination with the capabilities of modern computers, you will find that the answer to this question is temporarily no. If you want to build a machine with the same thinking ability as a human, then you need to learn from the achievements of this great philosopher and his subsequent researchers, and make new breakthroughs on their basis.
In order to illustrate the importance of the field of study of this great philosopher, here is another issue that we have been controversial in our daily life, that is, the question of which is better or worse between Confucius's "human beginning, nature is inherently good" and the Western view that "human beings are inherently evil". Many people may find that Western society is now ahead of us, so they think that "nature is inherently evil" is right and "nature is inherently good" is wrong, and China should abandon the old ideas of the past and switch to Western ideas. Of course, there are also some old pedants who believe that China's humanistic thought is ahead of the West, and naturally think that "nature is inherently good" is right and "nature is evil" is wrong.
If you have learned the axiomatic analysis methods used by great philosophers, you will know that as long as there are no contradictions in the multiple axioms of a system, they can justify themselves, then it can be regarded as correct. In this way, you can easily conclude that "nature is inherently good" and "nature is inherently evil" are equal, and there is no question of who is better or worse, let alone who is right and who is wrong. As long as you don't put "good in nature" and "evil in nature" into a system at the same time, then there will be no problem, and even you can think that "at the beginning of man, there is neither good nor evil", or that "at the beginning of man, part of good, part evil", can be justified, so there is no problem with the ideas put forward by our ancestors, and the reason why we are backward is caused by other reasons. This question actually came to a conclusion in Gauss's time, when some people put forward the problem of non-Euclidean geometry, that is, the axiom of parallel lines, some people thought that one point could be made into multiple parallel lines, and some people thought that parallel lines intersected at infinity, which was contradictory to the axiom of Euclidean geometry that only one parallel line could be made at one point, but the conclusions derived from their respective systems were correct.
In fact, if you think deeply about its meaning, you will find that it has a significant impact on many disciplines such as physics, and the truth contained is really profound, far from being comparable to ordinary thoughts. Perhaps only the philosophical ideas put forward by our ancestor "Lao Tzu" can be compared in depth.
Gödel's incompleteness theorem also gave a blow to those who think science is rigorous, and it turns out that even purely theoretical disciplines such as mathematics are not rigorous, let alone other disciplines.
At this point, we have finished talking about the great philosophers in mathematics, and now we might as well take a look at the great philosophers in physics, which seems to have only produced a great philosopher named "Heisenberg" in physics (Note: Because I don't know much about physics, I don't know if "Hawking" is worthy of the title of great philosopher).
3. Heisenberg (1901~1976)
The name Heisenberg is believed to be unknown to few people, most people have learned his "uncertainty relationship" when studying physics, that is, because of this "uncertainty relationship", Heisenberg climbed to the tenth floor.
If you have read "A Brief History of Time" and "Hawking's Lectures: Black Holes, Baby Universes, and Beyond", you may already understand the power of uncertain relationships, so I don't want to discuss too much here, just talk about some things related to locally generated philosophical ideas.
Let's start by looking at the issue of "fatalism" that has been debated for thousands of years and is still being debated by people today. Hawking believed that as long as the universe has an initial state and the movement of particles is carried out according to certain physical laws (such as relativity and quantum mechanics are part of these physical laws), then all particle trajectories will be determined, and then as long as you admit materialism, that is, the spirit is determined by matter, then fatalism is "right". Of course, because the existence of the uncertainty relationship cannot be accurately predicted by people, it can also be regarded as "wrong". To put it simply, it can be considered that fatalism is "right" and absolute, and fatalism is "wrong" and relative.
Maybe you still have difficulty understanding the above passage, or maybe you feel that your fate is not destined by heaven, but can be changed through your own efforts. What I want to tell you is that what you are thinking is also predetermined, including your prediction itself, because the brain's thinking problem is ultimately the result of the movement of elementary particles, and the movement of these particles must follow the laws of physics, so whether you will work hard or not, including whether you are thinking about whether you should work hard or not, is also predetermined in advance. By the way, if you are reading this article right now, you may be thinking that this fatalistic question is questionable, or that it is not written well enough, and you are ready to smash a brick up; Or you are thinking that this question is a bit interesting, and you are going to pass it on to your friends after reading it; Or you see this and feel very tired and ready to take a break; …; These are all predestined by God. From your own relative point of view, because you don't know what will happen in advance, you can also think that it is not predestined in advance, maybe this sentence is a little difficult to understand, you might as well understand the axiomatic ideas mentioned earlier.
If you haven't read "Hawking's Lectures - Black Holes, the Baby Universe and Others", you may be surprised, hasn't fatalism always been considered idealism, and how did fatalism be derived from materialism? The reality is that this is a big joke with you, but this joke is also predetermined. If you carefully think about the contradiction between materialism and idealism in an axiomatic way, just like the previous analytical theory of good and evil, you will find that materialism and idealism are not necessarily in conflict, and the two sides of the contradiction can be unified, as long as you do not put materialism and idealism into the same system at the same time.
Of course, there are still wise people who doubt the correctness of the fatalistic question, because there is a prerequisite here, that is, the universe must have an initial state. Although there is a Big Bang theory, it is only a hypothesis and has not been confirmed, and some people think that the universe has always existed. It seems that you have reasonable reasons to doubt fatalism, but I still want to tell you that you are now doubting that fatalism is still predetermined, if you don't believe it, let's take a look at the following analysis.
Although the initial state of the universe is questionable, I think there is no doubt that this universe has existed for at least some time. We can take any time point t0 during the existence of the universe as we know it, and at this point of time t0, all particles have a state of motion. In the time after time point t0, since particle motion is carried out according to the laws of physics, the particle motion trajectory is determined by the state of time point t0. To put it bluntly, if you take a time point 100 years ago as t0, then all the current particle motion states have been determined 100 years ago, if you take a time point 10,000 years ago as t0, then the trajectories of all particle motion in the last 10,000 years were determined 10,000 years ago, of course, you can take an earlier time, such as 10 billion years ago.
In short, now you will find that whether the universe has an initial state does not affect the correctness of fatalism, so everything in this world is predestined. It's just that because the interaction between particles is too complex, we can't know the trajectory of these particles. Of course, if the uncertainty relationship is used, then this movement trajectory cannot be accurately predicted by people, so you might as well make a joke: "Fortune tellers often calculate inaccurately, probably because of the inaccurate relationship."
If you think about the uncertainty relationship a little deeper, you will find that this is a problem with the measurement system. Due to the existence of fatalism, the world itself is actually certain and "accurate", and the reason why it cannot be measured is that our human ability to measure depends on elementary particles. So I said earlier that fatalism is "wrong" is relative, it is relative to our human ability to measure. Gentzen (former Hilbert's assistant) proved that the problems in the ZF system are all decidable in a stronger system, and that the world itself is determined. (Note: It does not contradict Gödel's incompleteness theorem, and will not be explained in detail here due to mathematical complexity)
You might as well think about the question proposed by our ancestors, "Did Zhuang Zhou dream of butterflies?" Or did the butterfly dream of Zhuang Zhou? "Wind moving? Flag movement? Or heartbeat? Of course, you used to think that this was pure idealism, or even feudal dross, but if you combine the connotation of the uncertain relationship with the axiomatic analysis method mentioned earlier, it is estimated that you do not dare to draw conclusions easily.
Maybe you still can't understand why the great philosophers are placed on the top of the great scientists, and you may still think that gravity, the theory of relativity and other achievements are the greatest. Let's talk about why great philosophers are one level higher than great scientists.
If the collection of knowledge that human beings can have in the future under the current ability is regarded as a set A, and the collection of knowledge that humans already have is regarded as set B, it is obvious that set B is only a subset of set A, and it is a very small subset. Newtonian mechanics and relativity theories can only be counted as a subset of set B, and can only be counted as a drop in the ocean relative to set A. In other words, in the set of things that humans can do, theories such as Newtonian mechanics and relativity give detailed ways for you to do some of them, and of course there are many more things that Newtonian mechanics and relativity cannot solve.
The significance of Gödel's incompleteness theorem and uncertainty is that it points to the scope of set A, that is, when human existing capabilities are pushed to the limit, there are things you can do and things you can't do. Of course, it doesn't give you a specific way to do what you can, it just tells us the limits of what we humans are now discovering. Perhaps in the future it will be discovered that humans have other new undiscovered abilities, then this limit will be broken. For example, if other measurement methods that do not depend on elementary particles can be found in the future, and the state of other particles will not be changed during the measurement process, then the uncertainty relationship will be broken.
Seeing this, I guess you have discovered some secrets, science has gone around a lot, and finally returned to philosophy, which is what we think of as metaphysics. At the same time, you will also find that the so-called metaphysics proposed by our ancestors is originally in line with modern science, and it is not all dross as some people think. If someone thinks that the West is temporarily ahead of us, and then thinks that the West has surpassed us in ancient times, and our ancestors have lagged behind the West, and their thinking is dross, then I think he may have made the mistake of admiring foreign countries. I had to give him a lyric from Jay Chou's Spring Festival Gala: "You might as well grab a pair of our ancestral Chinese medicine prescriptions to treat your internal injuries." By the way, tell him that the premise of the yin-yang and five elements theory used in traditional Chinese medicine is fatalism.
The achievements of these great philosophers mentioned above may have a great impact on your worldview, so you may envy the achievements of these great philosophers. If you have great ambitions, you hope that one day you can become a great philosopher, but you find that the great philosopher above is studying mathematics and physics, and you are a computer programmer, so is there no chance to become a great philosopher?
If you can completely solve the NP problem, it means that the mystery of computing in the computer has been basically revealed, and maybe you can enter this floor; Or you can find another set of mathematical axioms that computers can understand, and this axiom system is complete, then a necessary condition for computers to replace human thinking is met, and computers will have "logical thinking and reasoning ability" in the true sense, and you can easily enter this floor. If you find a new way to break the uncertainty relationship, you can also easily enter this floor.
If you can completely uncover the mystery of human abstract thinking, and let computers know how to create abstraction, and have the ability to think abstractly, then you will have the "design ability" and can replace humans for various designs, and you can easily enter this floor. By the way, if you have a really deep understanding of software design, you will understand that this is not writing science fiction. If you are interested in this, you may wish to study the technology of program slicing, which will qualitatively improve your understanding of software design and testing, and maybe one day you can open this door.
Of course, there are other necessary conditions for computers to completely replace people, which will be mentioned later.
It is worth mentioning that although the 10th floor is the highest floor written in this article, the great philosophers do not feel that they have reached the top floor, and they usually struggle to find stairs to the higher floors. If you also have the idea of becoming the best in the world, then you may want to do something to surpass the achievements of the great philosophers, of course, it all depends on finding a higher staircase.
Personally, I believe that the stairs one floor up are the road to heaven, that is to say, the name of the 11th floor is "heaven", which is the place where "God" lives, not where people live. If someone can climb to heaven one day in the future, then he is no longer a human being, but has become a "God" from a human being.
You may wonder if there is a "heaven" in this world, and whether "God" does not exist at all, and I feel the same way. Therefore, it is necessary to write another paragraph to discuss the question of "God". If you want to understand the mystery of heaven, is there a way to turn you into "God", you might as well take a look at the mystery of the 11th floor. Note that I am using the word "mysterious" here, because God is probably a "mysterious and mysterious" thing in the eyes of most people.
Level 11 God
After reading the subheadings above, you may find it strange, isn't this article about "The Ten Floors of Programmers"? Why did you come out of the 11th floor?
In fact, this is not a contradiction, the programmer does only have ten floors, because when he climbs to the 11th floor, he has become a god and is no longer a programmer; So going beyond 10 floors doesn't matter in itself, the key question is whether you have the ability to become God.
1. Who is God?
Rookies think that Linus Torvalds is the god of programmers, and after reading the introduction of the previous floors, when they see this sentence again, I believe you can't help but laugh in your heart. Of course, whether you will smile or not is predetermined. Don Knuth is not God either, he is still three stories away from God. Even the great philosophers are one level away from heaven, so no one in this world has ever become God.
We are interested in whether in the future someone will climb to a higher floor than the great philosophers and become God.
To become God, you have to have the same power as God, God will create man, will you?
You may ask timidly: "Can I have a child with my lover, is it considered to be a human being?" You may also say confidently: "Now that humans can be cloned biologically, some people have long mastered the method of creating humans."
In fact, cloning requires human somatic cells, and only somatic cells can exist. When God created man, there was no man in this world, but a man created from the inanimate material "dust". Therefore, both humans and cloned humans using the most primitive methods are born from materials with life information, and cannot be counted as creating humans.
In this way, you won't create people at all, but I can tell you a "mysterious formula" that will give you the opportunity to learn how to create people.
If you uncover the mystery of human emotions and let computers have the same emotions as humans, then computers will be able to understand human needs, have "emotional intelligence", and will have the same abilities as humans. At this time, humans have evolved into robots, and science fiction will become a reality, which means that you have mastered the true ability to create people and have been promoted to "God".
Whether anyone can become a "god" in the future, and whether humans can evolve into robots, is predetermined in fatalism. Speaking of which, I might as well tell you another way to break fatalism, which is that you have to climb to a floor higher than God.
"And a floor higher than God?" You may have this problem in the first time, in fact, I have the same doubt. So before writing about the 12th floor, it is necessary to find out whether it exists or not, that is, whether you can ride on God's head.
2. Ride on God's head?
To solve the question of whether it is possible to ride on God's head, it is better to assume that there is a higher floor than God, that is, there is a way to break fatalism.
The essential reason for fatalism is that time runs in one direction and is irreversible. If you find a way to turn time back, then you break fatalism and climb to a floor higher than God.
Seeing this, you may get rid of the confusion of fatalism just now and become hopeful and happy. However, if your logical thinking skills are good enough, if you think about it carefully, you will find that there is a logical paradox.
Until you find a way to reverse time, it is clear that the world still needs to obey fatalism, which means that whether you can find a way to break it is predetermined. Suppose you find a way to break fatalism at a certain point in time at t0, and after breaking fatalism, you want to use the time reversal method to return to a certain point in time t2. Let's see if you can go back to T2.
Take any time point t1 between t0 and t2, before you return to time point t2, you must first go through time point t1, consider the moment you arrive at t1, because t1 is earlier than t0, you have not yet found a way to reverse time at this time point, so after reaching time t1 o'clock, you can no longer use the ability of time reversal to return to time point t2, so you can never return to time point t2, because time point t2 is arbitrarily taken, therefore, you can never reverse time. Or you have never broken fatalism at all, which contradicts your breaking fatalism at time point t0.
The above passage seems a bit like the sophistry of "people can never take a step", you may want to go back to time point T1 and still have the ability to reverse time. But you will find a new problem, time point T1 originally did not have time reversal ability, and now you think that time point T1 has time reversal ability, so time point T1 has time reversal ability or no time reversal ability? Or before the time point t0, fatalism destined that time point t1 has no time reversal ability, and now you think that time point t1 has time reversal ability, so are these two time points t1 the same time point? If it is not at the same point in time, it means that you have not returned to the past; If it is the same point in time, wouldn't it be contradictory?
In order to make it more vivid, you might as well assume that you take a faster-than-light spacecraft and prepare to return to time point T2 from time point T0, suppose you return to T2 with the passage of time, and if you take a faster-than-light spacecraft back to time point T2 again, then a question worth thinking about arises, "Can you see the spacecraft that last returned to time point T2 at time point T2?" ”
If the answer is that you can't see the spacecraft, then where did the spacecraft you returned last time go? Obviously difficult to explain. If you can see the spacecraft, then you can reach the time point T2, and the next time the time reaches T0, you will take the spaceship back to T2, and this time you will be able to see the two spaceships from the last two times. If this cycle continues, you will eventually find that you can see an infinite number of ships at point in time t2. In programmer terms, it is called "the program is stuck in a dead loop", and finally the system will inevitably collapse due to the phenomenon of "Out of Memory".
Of course, you can also think that there are other ways to jump directly from time point t0 to time point t2 at one time without going through time point t1. Let's analyze whether this method is feasible.
Since you are jumping directly to time point t2, you must appear in a certain space at time point t2 in an infinitesimal amount of time, for example, you want to return to a certain square at time point t2. First of all, explain why it appears in infinitesimal time, because if it does not appear in infinitesimal time, then it is necessary to obtain a time point t1, which will lead to the paradox of the time point t1 mentioned earlier.
When you appear in the square, the air in the square must make way for you, and this is done in an infinite amount of time, so it is easy to deduce that the acceleration and velocity obtained by the air around you are infinite, so the kinetic energy it has is also infinite, what does infinite energy and infinite speed mean? A bird can knock down an airplane, and if the universe is finitely large, it can blow up the universe infinitely; Even if the universe is infinite, it is enough to blow up the universe once. The universe is destroyed, so where is the time? Can you still say that you are back to the point of time T2?
Maybe you still can't believe what you said above, you might as well be more realistic, suppose you want to go back to a point in time 100 years ago, how many meteors in the sky have disappeared in these 100 years? How many nova are generated? How much did the universe expand? Do you have the ability to restore the extinguished meteors, the generated new stars return to their pre-generation state, and the expanding universe shrinks back? If the state of these things has not returned to 100 years ago, how can it be said that you have returned to a point in time 100 years ago?
According to the above derivation and analysis, I personally believe that the method of reversing time does not exist, so the 12th floor does not exist, and naturally no one can ride on the head of "God".
Fatalism will rule the world forever in the time it is. |