What C++ Needs to be Safe

John Lakos

⏱ 90 minute session
intermediate
advanced
14:30-16:00, Friday, 4th April 2025
The C++ programming language, a cornerstone of industrial software development, has lately faced growing criticism regarding its support for writing programs safely. Compounding these challenges, governments and regulatory agencies are increasingly advising companies to adopt memory-safe languages, which is further pressuring C++ to address these growing safety concerns, causing waning confidence among industrial stakeholders, and prompting a shift toward exploring alternative languages. A well-reasoned response to this challenge might reinvigorate enthusiasm and investment in C++ by focusing on three key pillars: Safety, Health, and Efficiency.

This talk outlines, in some technical depth, our strategic approach to address these concerns, emphasizing the importance of enhancing language safety (i.e., correctness and security) through the introduction of Contracts, managing Erroneous Behavior, and implementing Rust-like checked relocation within the ISO C++ Standard. By tackling these pressing safety issues head on, we aim to restore trust in C++ as a robust and reliable language, ensuring its continued relevance and adoption.

🏷 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.