The following describes the difficulties and problems encountered when learning the C ++ language, the skills used to learn the C ++ language, and how to better learn the C ++ language? These problems have plagued many developers for development activities.
C ++ must be useful in the period when it existed. Each language must have a rational and clear implementation scheme; A work und is always provided; an easy-to-understand support method can be provided for each programming style to be supported; it is not mandatory for humans.
It can be noted that the last three elements of the basic rule imply two points: the emphasis on convenient tools for various applications in the real world and the technical and orientation preferences of programmers. From the very beginning, C ++ is intended for programmers who want to build real projects.
The so-called "perfection" is considered impossible because the requirements, background, and issues to be resolved of C ++ users are too different. Moreover, even the interpretation of the word "perfect" may be greatly changed throughout the lifetime of a general-purpose programming language. It can be seen that in the process of language evolution, user feedback and experience accumulated by language practitioners are the most important.
[Design-support rules based on Design rules] supports good Design solutions and provides language facilities for program organizations. Say what you mean ); all language features must be able to bear effectively; enabling a useful feature is more important than avoiding all misuse; independently developed components can be combined into a complete software.
One of the goals of C ++ is to provide more easy-to-use and affordable design ideas and program design technologies to further improve the quality of the program. Most of these technologies are derived from Simula [Dahl, 1970] [Dahl, 1972] [Birtwistle, 1979] and are generally discussed as Object-Oriented Programming and object-oriented design ideas.
However, the goal of C ++ is to support various programming styles and ideas within a certain range. This is a comparison with general views on language design. Generally, in terms of language design, it is always an attempt to build all the systems in a separately highlighted, mandatory programming style or a model paradigm ). [Language technical rules Language-technical rules)] There is no internal conflict with the Static type system; for example, building built-in internally) the same type provides good support for user-defined types;
Local variables) behavior is desirable; avoiding sequential dependencies; selecting the most easy-to-grasp part of the features can be selected when you have doubts about the language; syntax matters (often in perverse ways) can be compromised by improper Syntax usage.
Of course, these rules should be specifically combined