Design principle of C++ and Carbon
Let's deep dive into c++ and Carbon

Contents
Let’s deep dive into c++
and Carbon
tl;dr
About main refs
1. Principles
2. Compile and Linker
- https://en.cppreference.com/w/cpp/language/translation_phases
- https://en.cppreference.com/w/cpp/preprocessor
3. Why not C++?
References
Carbon
vs C++
- Generics
- Memory Safety
- Errors are values: recoverable
- Information accumulation: with forward declarations used to introduce names beforethey are first referenced when necessary.
- Low context sensitivity: 코드를 읽고 이해하는 데 필요한 컨텍스트의 양을 충분히 효과적으로 줄이기 위해쓰기뿐만 아니라 읽기에도 이점이 있는 간결함을 기꺼이 희생하겠다.
- Prefer providing only one way to do a given thing
- Safety strategy
- Memory safety
- Type safety
- Data race safety
- One static open extennsion mechanism
- Success criteria
Difficulties improving C++
- Carbon team failed to meaningfully change C++’s direction and priorities towards improvements rather than backwards compatibility, and demonstrates how the process can fail to make directional decisions.
- C++’s process is oriented around standardization rather than design