C ++ design goals

Source: Internet
Author: User

A clear objective of C ++ design is to provide design ideas and program design technologies that are easier to use and have a certain capacity to further improve the quality of programming, it can greatly improve the efficiency of developers and avoid detours for them.

C ++ design must be useful in the period when it existed. Each language must have a rational and clear implementation scheme; provides a flexible approach; provides easy-to-understand support for each programming style to be supported; not mandatory to 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.

Provide language facilities for program organizations; Say what you mean); all language features must be effective; enabling a useful feature is more important than avoiding all misuse; it can combine independently developed components into complete software.

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 ). There is no internal conflict with the Static type system (Static type system). Like the built-in built-in) type, it provides good support for user-defined types. locality) behavior is desirable;

Avoid dependency in order. When you are confused about the language, you can select the most easily mastered part of the features; syntax matters (often in perverse ways) can be compromised by improper Syntax usage.

Of course, these rules should be specifically combined

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.