What C++ Needs to be Safe

John Lakos

⏱ 90 minute session
intermediate
advanced
14:30-16:00, Friday, 4th April 2025
The world runs on C++. For more than two decades, C++ has served as the workhorse of high-performance, low-power, and low-latency software across industries. Its raw speed and unconstrained flexibility have made C++ the go-to language for and backbone of large-scale software development.

Recently, however, software engineering priorities have shifted significantly toward safety. While C++ enables the creation of secure and correct programs, its traditional focus has favored performance over safety guarantees. As the software landscape evolves, C++ faces a crucial inflection point. To maintain its unparalleled stature, C++ must embrace various safety mechanisms along with safety-by-default principles to support a broader developer ecosystem while preserving the performance capabilities that experts will continue to demand.

This talk will examine C++'s evolution toward safety-first development, analyzing functional, language, memory, lifetime, and data-race safety considerations. We survey existing safety techniques, identify current limitations, and explore potential solutions for remaining security challenges. Finally, we present a comprehensive roadmap for achieving robust safety guarantees in C++26, while continuing to enable all the language’s performance advantages.

🏷 Contracts
🏷 Software Engineering
🏷 Undefined Behavior
🏷 Backward Compatibility
🏷 Standard Library

John Lakos

John Lakos, author of Large-Scale C++ Software Design (Pearson, 1997), serves at Bloomberg LP in New York City as a senior architect and mentor for C++ Software Development worldwide. He is also an active voting member of the C++ Standards Committee’s Evolution Working Group. Previously, Dr. Lakos directed the design and development of infrastructure libraries for proprietary analytical financial applications at Bear Stearns. For 12 years prior, Dr. Lakos developed large frameworks and advanced ICCAD applications at Mentor Graphics, for which he holds multiple software patents. His academic credentials include a Ph.D. in Computer Science ('97) and an Sc.D. in Electrical Engineering ('89) from Columbia University. Dr. Lakos received his undergraduate degrees from MIT in Mathematics ('82) and Computer Science ('81). He is the author of the multi-volume book Large-Scale C++, the first volume of which, Volume I: Process and Architecture (Pearson, 2020), is currently available, and subsequent volumes are forthcoming. He is the coauthor of Embracing Modern C++ Safely (Pearson, 2021) along with Vittorio Romeo, Rostislav Khlebnikov, and Alisdair Meredith.