Plenary: Cooperative C++ Evolution - Toward a Typescript for C++ - Herb Sutter - CppCon 2023

C++ can be revolutionized to become 10x simpler and more efficient by adopting lessons from TypeScript and applying careful design and evolution principles.

Key takeaways
  • C++ can be made 10x simpler and more efficient with careful design and evolution.
  • The language’s complexity is a major obstacle to its adoption and widespread use.
  • TypeScript, a JavaScript variant, is a model for C++ evolution, providing a way to add features and simplify the language.
  • The C++ standard library can be made more accessible and easier to use by providing a more consistent and intuitive API.
  • The concept of “type-safe” programming is important, and C++ can be made more type-safe with careful design and evolution.
  • The C++ standard library can be made more modular and extensible by providing a more flexible and modular API.
  • The language’s complexity is a major obstacle to its adoption and widespread use, and simplifying the language can make it more accessible and easier to use.
  • The concept of “constexpr” is important, and C++ can be made more efficient and safer with the use of constexpr.
  • The C++ standard library can be made more consistent and intuitive by providing a more consistent and intuitive API.
  • The language’s complexity is a major obstacle to its adoption and widespread use, and simplifying the language can make it more accessible and easier to use.
  • The concept of “variadic templates” is important, and C++ can be made more powerful and expressive with the use of variadic templates.
  • The C++ standard library can be made more extensible and flexible by providing a more flexible and modular API.
  • The language’s complexity is a major obstacle to its adoption and widespread use, and simplifying the language can make it more accessible and easier to use.
  • The concept of “coroutines” is important, and C++ can be made more efficient and safer with the use of coroutines.
  • The C++ standard library can be made more consistent and intuitive by providing a more consistent and intuitive API.
  • The language’s complexity is a major obstacle to its adoption and widespread use, and simplifying the language can make it more accessible and easier to use.