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.

test

Milly
Vienna, Austria

Intermediate

test

Milly
Vienna, Austria

Intermediate

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
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...
All the videos of Halfstack London 2024!
AP
Anto Pranjić
That was WeAreDevelopers World Congress 2022
Thank you, danke, hvala, merci, gracias, Дякую – we don’t know yet exactly how many languages were spoken here at the City Cube Berlin over the last two days, but thank you 10 000 times to everybody who joined us here for WeAreDevelopers World Congre...
That was WeAreDevelopers World Congress 2022
DC
Daniel Cranney
The real reason we document our code
The world of software development moves fast. Technology is constantly changing, as are the tools we use with it, and even the role of a programmer is itself constantly in flux. However, some aspects of software engineering are so foundational that w...
The real reason we document our code

From learning to earning

Jobs that call for the skills explored in this talk.