Introduction to Programming
Programming is the Chinese abbreviation for writing a program. It is to let the computer solve a certain problem on your behalf and stipulate a certain calculation method for a certain calculation system. It is a calculation method. The system operates according to this calculation method and finally obtains the corresponding results.
In order for the computer to understand human intentions, humans must tell the computer the ideas, methods and means of the problem to be solved in a form that the computer can understand, so that the computer can work step by step according to human instructions. Complete a specific task. This process of communication between people and computing systems is programming.
What to learn first when getting started with programming
1. If you can use Windows proficiently, you can already start your programming career. Fight monsters and upgrade. stand up!
2. First start with C language. Some friends may think that C language is too difficult and they should start with VB. Although, for a beginner, there will be some sense of accomplishment in using some controls to build a small software, but the foundation is the most important! C language's description of data types is far more comprehensive and clear than VB, and these are the foundation of programming!
3. Learn C language, from data types, basic expressions, to conditional statements, loop statements, and then learn functions, plus some simple array knowledge, it is enough. Until now, it is enough for you to understand the idea of structured programming!
4. With the above foundation, it is time to start learning assembly. Assembly is difficult when you first learn it. The various registers and segmented memory addresses are difficult to understand. But after you understand these knowledge, the rest of the content becomes simple. Learn the instructions of 8086, plus With some pseudo operations and calls to DOS and BIOS interrupts, you can understand the assembly program in the book. At this point, you will have a deeper understanding of computers!
5. With the foundation of assembly, you can now learn the essence of C language - pointers. It can be said that you are like a duck in water. Now you have to learn the C language comprehensively.
6. After learning the above content, it is necessary to study data structures, linear tables, stacks, queues, trees, graphs, binary trees, etc.
7. Please always remember: impetuousness is a taboo in learning programming.
8. Of course, you should also learn some database knowledge and some commonly used algorithms.
9. If you are proficient in the above knowledge, you can start the C course. Find a C course, then find a VC book, and spend another week learning VC. With the interface and usage, you can make some simple applications! 10. If you want to learn VC well, you will not be able to do it without a solid knowledge of C. The following books must be read by VC programmers: C Primer; Effective C; Thinking in C; More Effective C; MFC in simple terms. 11. Have a deep understanding of C object-oriented thinking. 12. When programming, mistakes are inevitable, so you must use MSDN proficiently; good coding style will make you familiar with the book, spend a week to get a general understanding of C, and then find a VC book, and then spend After a week of learning the interface and usage of VC, you can make some simple applications!
10. If you want to learn VC well, you will not be able to do it without a solid knowledge of C. The following books must be read by VC programmers: C Primer; Effective C; Thinking in C; More Effective C; MFC in simple terms .
11. Deeply understand the object-oriented thinking of C.
12. When programming, mistakes are inevitable, so you must be proficient in using MSDN; good coding style will make it easier to check errors during debugging, so you must develop good programming skills style.
What is difficult about learning programming
1. Complexity:
On a scale, software entities may be more complex than any other entity created by humans, because there are no two The software parts are the same. If there are the same situations, we will merge them into co-called sub-functions.
Digital computers themselves are more complex than most things built by humans. Due to the complexity, communication between team members is very difficult, which leads to many problems in product development, resulting in cost overruns and schedule delays; Complexity brings not only technical difficulties but also many management problems. It makes it difficult to fully understand the problem, thus hindering conceptual completeness.
2. Consistency:
Many of the data that engineers must control are arbitrary and without rules, coming from a number of human conventions and systems that must be followed. They change with different interfaces, and they change over time, and these changes don't necessarily happen simply because they are the result of different people designing them.
In some cases, because the latest software is developed, it must follow various interfaces. In other cases, software is developed with the goal of compatibility. In all of the above cases, much of the complexity comes from maintaining consistency with other interfaces, and no amount of software redesign can simplify these complexities.
3. Variability:
All successful software will change. When people find software useful, they will use it at or beyond the boundaries of its original application scope. The pressure for function expansion mainly comes from users who like basic functions and propose many new uses for the software.
In short, software products are rooted in the matrix of culture, such as various applications, users, natural and social laws, computer hardware, etc. The latter is constantly changing, and these changes ruthlessly force the software to change accordingly.
4. Invisibility:
Software is invisible and cannot be visualized. The objective existence of software does not have the physical characteristics of space. When we try to use graphics to describe the software structure, we will find that it contains not just one, but many interrelated and overlapping graphics.
Removing the limitations on software structure and progress in simplification, software still maintains inherent characteristics that cannot be visualized, thereby depriving some of the construction ideas of powerful conceptual tools. This shortcoming not only limits the individual design process, but also seriously hinders mutual communication.
The above is the detailed content of What to learn first when getting started with programming. For more information, please follow other related articles on the PHP Chinese website!