Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

The Evolution of C++ - A Typescript for C++

CppNow via YouTube

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the future of C++ in this keynote address from CppNow 2023, where Herb Sutter, chair of the ISO C++ standards committee, discusses the ongoing evolution of the language. Delve into updates on the cppfront experimental compiler, examining new features that enhance simplicity, safety, and efficiency. Learn about user-defined types, reflection, and type metafunctions through demonstrations and in-depth explanations. Analyze the importance of compatibility in programming language evolution, comparing approaches from TypeScript, Dart, and other languages. Gain insights into potential future directions for C++, including the "10% plan," "Dart plan," and "TypeScript plan" for language development. Understand the challenges and opportunities in creating a "TypeScript for C++" to ensure seamless compatibility and continued progress in the language's evolution.

Syllabus

- Intro and roadmap for the talk
- 1. cppfront recap
- 2. cppfront: what’s new
- a 3 smaller new features showing simplicity+safety+efficiency
- simplicity, safety and efficiency rarely in tension, with the right abstractions
- chained comparisons
- named loops/break/continue
- main’s arguments
- b user-defined types
- explicit `this`
- unified `operator=`: {construct,assign}x{copy,move} is a single function by default
- virtual/override/final are qualifiers on `this`
- DEMO: inheritance
- c reflection and type metafunctions
– DEMO: applying type metafunctions
- 3. compatibility for C++
- John Carmack on compatibility in the real world
- C++ from C, TypeScript from JavaScript, Swift from Objective-C, Roslyn from prior compiler
- emphasizing and dissecting TypeScript’s compatibility story
- Dart: similar goal, but not designed to be compatible
- the “lost decade” pattern: lack of seamless compatibility will cost you a decade in adoption
- three “plans”: the “10% plan”, the “Dart plan”, and the “TypeScript plan”
- “10% plan”: incremental evolution-as-usual
- “Dart plan”: designing something new, not worry about compatible interop, competitive
- “TypeScript plan”: designing for something compatible, cooperative
- filling in the blank: A TypeScript for C++

Taught by

CppNow

Reviews

Start your review of The Evolution of C++ - A Typescript for C++

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.