World Congress 2022 Jun 15, 2022

C++ in constrained environments

Bjarne Stroustrup

Stop defaulting to restrictive C subsets for embedded systems. Expressive C++ abstractions actually help the compiler generate highly efficient code. Shift your computation to compile time today.

Pause
Mute Enter Fullscreen
#1 about 3 min

Defining hardware limitations inside varying constrained environments

How varying restrictions like power, memory capacity, and processing hardware continuously impact software scaling decisions.

#2 about 3 min

Dispelling common optimization and runtime performance misconceptions

Why subsetting language feature sets or fearing class hierarchies ultimately produces strictly unoptimized and error-prone configurations.

#3 about 2 min

Designing versatile software interfaces using the onion principle

Providing clean abstraction layers directly enables maintaining high-level interfaces while permitting unconstrained hardware access later.

#4 about 4 min

Mapping structural hardware models around fundamental storage mechanics

The straightforward mechanism of memory composition reliably maps objects onto compact sequential layouts across designated storage boundaries.

#5 about 5 min

Accelerating structured resource acquisition across customized object properties

Employing constructors and destructors guarantees resource destruction scales inherently through basic types alongside customized object configurations.

#6 about 3 min

Substituting restricted language constructs with standardized type constraints

Replacing structurally dangerous types like unions with standardized variants permanently enforces strict type validity and runtime scrutiny.

#7 about 5 min

Eradicating implicit array bounds faults deploying parameter spans

Combining pointers tightly to array parameters completely eradicates redundant bounds checking loops and hidden iteration flaws.

#8 about 7 min

Migrating advanced mathematical computation safely into compile evaluations

Shifting evaluation toward constant expressions and customized literal operators moves validation delays strictly to standard compile periods.

#9 about 7 min

Modernizing legacy programming architectures using iterative core guidelines

Enforcing specialized rules via static checkers separates modern safe components seamlessly without damaging established codebases.

#10 about 12 min

Constructing deliberate error handling paradigms matching variable dependencies

Selecting actively between system exceptions, native error returns, or execution termination depends definitively on environmental validation context.

#11 about 4 min

Preventing data races executing isolated lock-free standard structures

Standardized formal memory models enforce that lock-free atomic routines interact transparently alongside integrated standardized worker threads.

#12 about 3 min

Implementing modern language feature advancements carefully alongside readability

Creating readable standard logic proactively improves integration capabilities by assisting automated compilers tracking sequential execution steps.

#13 about 8 min

Exploring runtime testing validations and scheduled upcoming iterations

Assessing when developers should execute expected local state testing while identifying scope adjustments postponing updated release timelines.

Matching moments

1:42 min

Navigating emerging hardware standardization in vendor programming ecosystems

Paul Graham Paul Graham · LIVE

4:40 min

Optimizing execution with compact layouts and compile-time computation

Bjarne Stroustrup · World Congress 2022

13:57 min

History of C++ technical debt and language design

Stefan Baumgartner · LIVE

7:45 min

Bridging hardware manipulation and high-level object abstractions

Andreas Fertig · World Congress 2021

1:21 min

Key principles for engineering compliance and speed

Martin Reynolds Martin Reynolds · World Congress 2025

3:42 min

Memory safety and component interoperability across disparate languages

Edo Edo · World Congress 2024

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 · 15:30–15:40

Outdoor Stage

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare
Open session

World Congress 2026 North America

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

Stage 5

Context Engineering Kung Fu

Carl Lapierre

Tech Lead and AI Engineer at Osedea

Carl Lapierre
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 · 11:40–11:45

Outdoor Stage

One Environment, N Machines: Deterministic Builds for Humans and Agents

James Bayer, Morgan Helton

James Bayer
Morgan Helton