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.
Matching moments
02:20 MIN
Understanding the original design goals and evolution of C++
Eternal Sunshine of the Spotless Programming Language
10:20 MIN
The origins and evolution of the C++ language
101 brilliant things of C++
06:50 MIN
C++ availability, ecosystem, and backwards compatibility
101 brilliant things of C++
01:51 MIN
The 1980s shift to object-oriented programming
From Punch Cards to AI-assisted Development
07:52 MIN
Modern C++ evolution and the burden of backward compatibility
Eternal Sunshine of the Spotless Programming Language
05:24 MIN
Debunking common myths about C++ in constrained systems
C++ in constrained environments
01:24 MIN
Managing C++ complexity with strong coding guidelines
The C++ rvalue lifetime disaster
07:24 MIN
Q&A on local error handling and C++23 features
C++ in constrained environments
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
An (In-)Complete Guide to C++ Object Lifetimes
Jonathan Müller
The C++ rvalue lifetime disaster
Arno Schoedl
Functional Programming in C++
Jonathan Müller
Eternal Sunshine of the Spotless Programming Language
Stefan Baumgartner
A Love Letter to Rust
Rainer Stropek
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.


CONTIAMO GMBH
Berlin, Germany
Senior
Python
Docker
TypeScript
PostgreSQL



SYSKRON GmbH
Regensburg, Germany
Intermediate
Senior
.NET
Python
Kubernetes

Peter Park System GmbH
München, Germany
Senior
Python
Docker
Node.js
JavaScript

Speech Processing Solutions
Vienna, Austria
Intermediate
CSS
HTML
JavaScript
TypeScript

