Bjarne Stroustrup

The Design and Evolution of C++

Manage complexity without sacrificing speed. Bjarne Stroustrup explains the core C++ design principle of zero-overhead abstractions.

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

From learning to earning

Jobs that call for the skills explored in this talk.

Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust

Senior C++ Architect


Municipality of Valencia, Spain

50-55K
Senior
C++
GIT
Docker
Agile Methodologies

C++ Engineer

Understanding Recruitment
Garve, United Kingdom

Remote
57K
C++
Amazon Web Services (AWS)