Manage complexity without sacrificing speed. Bjarne Stroustrup explains the core C++ design principle of zero-overhead abstractions.
#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.
All the videos of Halfstack London 2024!Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
Christina Schaireiter
5 Reasons Why Attending Conferences in 2026 Matters More Than You ThinkIt’s 2026, and the “remote vs. office” debate has finally settled into a high-tech hybrid reality. While we’ve perfected the art of shipping production-grade code from decentralized hubs and home setups, something shifted. We realized that while AI c...
Christina Schaireiter
Why Attend a Developer Event?Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership.
Skill Diversification: Break out of your specific tech stack to see how the industry...
From learning to earning
Jobs that call for the skills explored in this talk.