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 · World Congress 2021

1:40 min

Introduction to the speaker and software development philosophy

Aliaksandr Valialkin Aliaksandr Valialkin · World Congress 2026 Europe

1:36 min

Introduction to programming language internal workings

Aleksandra Sikora · World Congress 2023

6:23 min

Modernizing legacy programming architectures using iterative core guidelines

Bjarne Stroustrup · World Congress 2022

3:54 min

Introducing five core strengths of the programming language

Andreas Fertig · World Congress 2021

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 24, 2026 · 16:10–16:40

Outdoor Stage

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

September 24, 2026 · 15:30–16:00

Stage 3

The New Bottleneck in Software Development

Aditya Jayaprakash

Co-Founder & CEO at Blacksmith

Aditya Jayaprakash
Open session

World Congress 2026 North America

September 25, 2026 · 14:50–15:20

Stage 1

There's no dark factory without better software verifiers

Dexter Horthy

Co-Founder of HumanLayer

Dexter Horthy
Open session

World Congress 2026 North America

September 24, 2026 · 16:50–17:20

Stage 3

Merging at Scale: From Broken Builds to Green Mainline

Manjari Akella, Preetam Dwivedi

Manjari Akella
Preetam Dwivedi
Open session

World Congress 2026 North America

September 25, 2026 · 12:55–13:25

Stage 7

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

September 24, 2026 · 13:30–14:00

Stage 9

Understanding LLM Architectures: Inside the Design of Modern Models

Jofia Jose Prakash

Director - AI & Governance at Humanity + AI, Inc

Jofia Jose Prakash