Bjarne Stroustrup
The Design and Evolution of C++
#1about 6 minutes
The origins and motivation behind creating C++
C++ was created to combine low-level system control with high-level abstraction for building complex systems like a Unix cluster.
#2about 7 minutes
Core design principles and the language evolution trilemma
C++ is guided by principles like zero-overhead abstraction and direct hardware mapping, while balancing the conflicting demands of simplification, new features, and backward compatibility.
#3about 4 minutes
How the ISO committee standardizes and evolves C++
The C++ language is evolved through a large, consensus-driven ISO committee composed of industry representatives and national bodies.
#4about 5 minutes
Guaranteed resource management using RAII and destructors
The RAII pattern uses constructors and destructors to ensure resources like memory, locks, and file handles are automatically and predictably released.
#5about 5 minutes
Core strategies for achieving high performance
C++ achieves efficiency through a compact memory model, value semantics, inlining, and moving computations to compile-time with `constexpr`.
#6about 5 minutes
Concurrency support from memory models to coroutines
C++ provides robust concurrency support through a formal memory model, threads, locks, lock-free programming, and high-level features like coroutines.
#7about 11 minutes
Evolving the type system for generic programming with concepts
C++ generic programming evolved from unconstrained templates to type-safe concepts, enabling more expressive and safer code with better error messages.
#8about 5 minutes
Faster compile times and better organization with modules
C++20 modules replace the slow and fragile header inclusion system, offering strong encapsulation and dramatically faster compilation speeds.
#9about 3 minutes
Adopting modern C++ with the core guidelines
The C++ Core Guidelines project helps developers write modern, safe, and efficient code by promoting best practices and avoiding outdated patterns.
#10about 9 minutes
Q&A on language design, Rust, and the future of C++
Bjarne Stroustrup answers audience questions about giving advice to his past self, the evolution of other languages like Rust, and his ongoing role in guiding C++.
Related jobs
Jobs that call for the skills explored in this talk.
Featured Partners
Related Videos
C++ in constrained environments
Bjarne Stroustrup
101 brilliant things of C++
Andreas Fertig
C++ Features You Might Not Know
Jonathan Müller
The C++ rvalue lifetime disaster
Arno Schoedl
An (In-)Complete Guide to C++ Object Lifetimes
Jonathan Müller
Why Iterators Got It All Wrong — and what we should use instead
Arno Schödl
Functional Programming in C++
Jonathan Müller
Eternal Sunshine of the Spotless Programming Language
Stefan Baumgartner
From learning to earning
Jobs that call for the skills explored in this talk.


Firmware Engineer C++
BETWEEN TECHNOLOGY
Sant Cugat del Vallès, Spain
C++
CMake
DevOps
Agile Methodologies





