Programmer's career can also be divided into four stages:
Junior programmer (rookie),
Advanced programmer (skilled worker),
System programmer (master),
Software Master (master),
His works have also experienced four realms:
· Can run the program
· Agricultural, efficient procedures
· Structured program
· Thought profound procedures
The first phase of the programmer is written in the first phase. The initial programmer's goal is generally allowing the program to run, they also have to learn the basic syntax to compile the program. Primary programmers generally do not consider designing methods, software structures, etc. The entire system is a simple stack of source code. I believe that each programmer needs this stage, it is the beginning of programmer career, there is no shortcut to span, only constant practice, learning and summary.
The second phase of programmers have accumulated a lot of programming experience, syntax and library functions are no longer obstacles, they are no longer satisfied with the correct operation of the program, and the function is not erical. They need to understand what they happen behind the program, need to understand the principles and scheduling mechanisms of the operating system, memory management, file system organization, etc. Learn about the mechanism behind C packages, inheritance, and polymorphisms, virtual functions implementation mechanism. They not only know how the program should run, but also know why it runs so, can write efficient and robust programs.
The third phase of the programmer can build a beautiful software system, the rationality, scalability, maintenanceability of the software system structure, and testability are the key points of the system programmer, the structure of the beautiful software system is the same. Like the group, each part of each of them, with a reasonable. I have always believed that a good software system should have aesthetic characteristics, such as simple, harmonious, hierarchical, etc., a good software system should be simple, easy to understand; it should be harmonious, each part is high, low, low Coupling, both division of labor and cooperation; it should be classified, easy to maintain and transplant. Therefore, I recommend the programmer for software system design. When you design one system, you need to ask yourself: "Is it beautiful?", If the answer is negative, then I suggest you need to reconsider the design, If the answer is affirmative, then, congratulations, you have reached a quite high level.
The last level may be the peak of each programmer's dream, the program is no longer a simple tool, but the masters change the world's wand, from C to C , come to COM and Cobra, and then to XML and Web Services, Each change is not the upgrade of software grammar and development tools, but use software to build a reality world model change. It is a revolution in software ideas. The software has souls and intelligence. If this is not understood, it is considered to be better C, COM is just better C words, you have not understood their essence and ideological.