2. No templates
3. No exceptions
4. POD structs
5. Classes without inheritance
6. Compile time if
7. Modules
8. void* renamed to a box or something sane
9. Simpler RTTI
10. No references
11. No lambda, function objects are good enough
12. Better threads and co-routines
This gets C++ quite close to go and D. In many ways go without Gc would make a great language!
What is unique to C++ wrt C ?
1. operator overloading
2. simpler struct + functions syntax
3. exceptions
4. strong typing
5. inheritance
6. move_semantics and references
7. templates
8. RAII
Fixing C
1. Simpler pointers
2. Standardised types
3. Pattern matching
4. Rust like semantics
5. Better variable names, kebab case, simpler modules
6. Optional gc
7. Defer
8. Expose stack
8. Cleaner declaration
9. Remove declarations … create opaque interfaces from .c file
10. Co-routines
11. Better stdlib
12. Compulsory bounds checking
This is quite close to safe D.