Goal
- C + + should make it more enjoyable for serious programmers to think of programming.
- C + + is a general-purpose programming language that should
- It's a better c.
- Support for Data abstraction
- Support for object-oriented programming
General rules
- The development of C + + must be driven by practical problems
- Not to be involved in the pursuit of perfection.
- C + + must now be useful
- Each characteristic must have a reasonable and obvious realization way
- Always provide a pathway to change
- C + + is a language, not a complete system
- Provide comprehensive support for each style that should be supported
- Don't try to force people to do anything.
Design Support Rules
- Support for sound design concepts
- Provide various mechanisms for the organization of the program
- Just say what you mean.
- All the characteristics must be affordable
- It is more important to allow a useful feature than to prevent various errors
- Supports a combination of software from a separately developed partial division
Technical rules of language
- Does not implicitly violate the static type system
- Provides equally good support for user-defined types as internal types
- Localization is a good thing
- Avoiding sequential dependencies
- If in doubt, choose the most obvious form of the feature
- Grammar is important (often works in a way that we do not want in dictation)
- Clear the need to use a preprocessor
Low-level programming support rules
- Use a traditional (dumb) connector
- No reason for incompatibility with C
- Do not leave space below C + + for lower-level languages (except assembly language)
- There's no need to pay for what you don't (0 overhead rules)
- Manual control is provided where there is a problem.
C + + language design rules