What C++ Needs to be Safe
John Lakos
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.
John Lakos
