World Congress 2022 Jun 16, 2022

The Design and Evolution of C++

Bjarne Stroustrup

Bjarne Stroustrup argues that simple, clean code is your ultimate optimization technique. Discover how C++ evolved to bridge high-level architecture with bare-metal hardware using zero-overhead abstraction.

Pause
Mute Enter Fullscreen
#1 about 3 min

Origins and early goals of the C++ language

C++ began as an effort to merge Simula's high-level abstractions with C's hardware-level control.

#2 about 3 min

Adding strong type checking and generic programming concepts

Introducing type safety, generic programming, and coroutines enabled scalable multi-threaded systems programming.

#3 about 5 min

Building a practical tool for serious working programmers

A programming language succeeds by prioritizing application quality and improving the daily experience of software developers.

#4 about 5 min

Core pillars and the trilemma of language evolution

Balancing the continuous need for zero-overhead abstractions against requests for simplification and backward compatibility.

#5 about 5 min

Standardizing C++ through the ISO committee process

International consensus and structured working groups manage the industrial evolution of the programming language.

#6 about 5 min

Managing complex state with scope-based resource management

Constructors, destructors, and the RAII pattern provide predictable resource cleanup without relying on garbage collection.

#7 about 5 min

Optimizing execution with compact layouts and compile-time computation

Adopting C's memory model ensures compact data layouts while constexpr algorithms shift complex computations to the compiler.

#8 about 5 min

Formalizing memory models for efficient multi-threaded concurrency

A mathematically specified memory model and scoped locks prevent deadlocks while enabling advanced lock-free programming.

#9 about 4 min

Leveraging static type systems for advanced compiler optimizations

Expressive static typing allows compilers to deeply analyze code and generate highly optimized run-time instructions.

#10 about 8 min

Simplifying generic programming with templates and concepts

Concepts constrain template arguments to improve error handling and specify safe type requirements for algorithm compatibility.

#11 about 5 min

Improving compilation speeds with modular code organization

Modular structures replace transitive header files to significantly reduce compile times and properly encapsulate software dependencies.

#12 about 4 min

Educating developers and adopting modern language guidelines

Embracing modern language features through established core guidelines enables resource-safe and efficient code without reinventing existing systems.

#13 about 9 min

Reflecting on language design history and future competitors

Candid discussions explore historical design regrets, the evolution of competing languages like Rust, and ongoing committee leadership roles.

Matching moments

13:57 min

History of C++ technical debt and language design

Stefan Baumgartner · LIVE

10:22 min

Tracing the early history and evolution of the language

Andreas Fertig · WWC 2021

1:40 min

Introduction to the speaker and software development philosophy

Aliaksandr Valialkin Aliaksandr Valialkin · WWC Europe 2026

1:36 min

Introduction to programming language internal workings

Aleksandra Sikora · WWC 2023

6:23 min

Modernizing legacy programming architectures using iterative core guidelines

Bjarne Stroustrup · WWC 2022

3:54 min

Introducing five core strengths of the programming language

Andreas Fertig · WWC 2021

Upcoming sessions on this topic

Open session

World Congress 2026 North America

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

There's no dark factory without better software verifiers

Dexter Horthy

Co-Founder, HumanLayer

Dexter Horthy
Open session

World Congress 2026 North America

Merging at Scale: From Broken Builds to Green Mainline

Preetam Dwivedi, Manjari Akella

Preetam Dwivedi
Manjari Akella
Open session

World Congress 2026 North America

The spectrum of agentic coding: From vibe coding to high-quality software engineering

YK Sugi

Developer Experience Manager at Eventual

YK Sugi
Open session

World Congress 2026 North America

Understanding LLM Architectures: Inside the Design of Modern Models

Jofia Jose Prakash

Enterprise AI Architect at American Chemical Society

Jofia Jose Prakash
Open session

World Congress 2026 North America

Beyond Vibe Coding: Using CLI Tools as Your AI Counterpart in Pair Programming

Ron Veen

Java enthusiast and Special agent for Team Rockstars IT

Ron Veen