CppCon 2019: Herb Sutter “De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable”
http://CppCon.org
—
Discussion & Comments: https://www.reddit.com/r/cpp/
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2019
—
A fundamental reason why C++ is successful and loved is its adherence to Stroustrup’s zero-overhead principle: You don’t pay for what you don’t use, and if you do use a feature you can’t reasonably code it better by hand. In the C++ language itself, there are only two features that violate the zero-overhead principle, exception handling and RTTI – and, unsurprisingly, these are also the only two C++ language features that every C++ compiler has switches to turn off and that are regularly discouraged or even banned. This matters because not using these features is the largest current cause of fragmentation of the C++ community into incompatible dialects, and the cause of recurring problems including type confusion security vulnerabilities arising from “didn’t down-cast using dynamic_cast because that would be too slow.” This talk is about ongoing long-term efforts to try to unify the community in this area, not by replacing exceptions and RTTI, but by doubling down: fully embracing exceptions and RTTI, and improving them so they can be zero-overhead too.
—
Herb Sutter
Software architect, Microsoft
Herb is an author, designer of several Standard C++ features, and chair of the ISO C++ committee and the Standard C++ Foundation. His current interest is simplifying C++.
—
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
Видео CppCon 2019: Herb Sutter “De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable” канала CppCon
—
Discussion & Comments: https://www.reddit.com/r/cpp/
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2019
—
A fundamental reason why C++ is successful and loved is its adherence to Stroustrup’s zero-overhead principle: You don’t pay for what you don’t use, and if you do use a feature you can’t reasonably code it better by hand. In the C++ language itself, there are only two features that violate the zero-overhead principle, exception handling and RTTI – and, unsurprisingly, these are also the only two C++ language features that every C++ compiler has switches to turn off and that are regularly discouraged or even banned. This matters because not using these features is the largest current cause of fragmentation of the C++ community into incompatible dialects, and the cause of recurring problems including type confusion security vulnerabilities arising from “didn’t down-cast using dynamic_cast because that would be too slow.” This talk is about ongoing long-term efforts to try to unify the community in this area, not by replacing exceptions and RTTI, but by doubling down: fully embracing exceptions and RTTI, and improving them so they can be zero-overhead too.
—
Herb Sutter
Software architect, Microsoft
Herb is an author, designer of several Standard C++ features, and chair of the ISO C++ committee and the Standard C++ Foundation. His current interest is simplifying C++.
—
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
Видео CppCon 2019: Herb Sutter “De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable” канала CppCon
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
CppCon 2019: Andrei Alexandrescu “Speed Is Found In The Minds of People"CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()”CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”CppCon 2016: Herb Sutter “Leak-Freedom in C++... By Default.”CppCon 2014: Herb Sutter "Back to the Basics! Essentials of Modern C++ Style"CppCon 2019: Ben Smith “Applied WebAssembly: Compiling and Running C++ in Your Web Browser”CppCon 2017: Kate Gregory “10 Core Guidelines You Need to Start Using Now”Mathieu Ropert “This Videogame Programmer Used the STL and You Will Never Guess What Happened Next”CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”Back to Basics: Exceptions - Klaus Iglberger - CppCon 2020CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part I"CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++”CppCon 2015: Andrei Alexandrescu “Declarative Control Flow"CppCon 2017: Louis Brandy “Curiously Recurring C++ Bugs at Facebook”CppCon 2019: Bjarne Stroustrup “C++20: C++ at 40”CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"Empirically Measuring, & Reducing, C++’s Accidental Complexity - Herb Sutter - CppCon 2020Back to Basics: Lambdas from Scratch - Arthur O'Dwyer - CppCon 2019