Загрузка страницы

CppCon 2018: Herb Sutter “Thoughts on a more powerful and simpler C++ (5 of N)”

http://CppCon.org

Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018

Perhaps the most important thing we can do for C++ at this point in its evolution is to make sure we preserve its core strengths while also directing its evolution in ways that make it simpler to use. That is my own opinion at least, so this talk starts with a perspective question: What “is C++,” really? The language continues to evolve and change; as it does so, how can we be sure we’re picking C++ evolutionary improvements that not only don’t lose its “C++-ic” qualities, but make it a better C++ than ever?

At recent CppCons, I’ve spoken about several of my own personal C++ evolution efforts and experiments, and why I think they’re potentially important directions to explore for making C++ both more powerful and also simpler to use. The bulk of the talk is updates on two of these:

1. Lifetime and dangling: At CppCon 2015, Bjarne Stroustrup and I launched The C++ Core Guidelines in our plenary talks. In my part starting at 29:06, I gave an early look at my work on the Guidelines “Lifetime” profile, an approach for diagnosing many common cases of pointer/iterator dangling at compile time, with demos in an early MSVC-based prototype. For this year’s CppCon, I’ll cover what’s new, including:
• use-after-move diagnoses
• better support for the standard library out of the box without annotation
• more complete implementations in two compilers: in MSVC as a static analysis extension, and in a Clang-based implementation that is efficient enough to run during normal compilation
• the complete 1.0 Lifetime specification being released on the Guidelines’ GitHub repo this month

I’ll summarize the highlights but focus on what’s new, so I recommend rewatching that talk video as a refresher for background for this year’s session.

2. Metaclasses: In my CppCon 2017 talk, I gave an early look at my “metaclasses” proposal to use compile-time reflection and compile-time generation to make authoring classes both more powerful and also simpler. In this case, “simpler” means not only eliminating a lot of tedious boilerplate, but also eliminating many common sources of errors and bugs. For this year, we’ll cover what’s new, including:
• an update on the Clang-based implementation, which now supports more use cases including function parameter lists
• new examples, including from domains like concurrency
• an updated P0707 paper, with more links to working examples live on Godbolt, being posted in the next few weeks for the pre-San Diego committee mailing

Herb Sutter
Microsoft
Author, and chair of the ISO C++ committee.

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com

Видео CppCon 2018: Herb Sutter “Thoughts on a more powerful and simpler C++ (5 of N)” канала CppCon
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
28 сентября 2018 г. 19:33:26
01:39:09
Другие видео канала
CppCon 2018: Kate Gregory “Simplicity: Not Just For Beginners”CppCon 2018: Kate Gregory “Simplicity: Not Just For Beginners”CppCon 2016: Herb Sutter “Leak-Freedom in C++... By Default.”CppCon 2016: Herb Sutter “Leak-Freedom in C++... By Default.”CppCon 2018: Jonathan Boccara “105 STL Algorithms in Less Than an Hour”CppCon 2018: Jonathan Boccara “105 STL Algorithms in Less Than an Hour”CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”CppCon 2017: Herb Sutter “Meta: Thoughts on generative C++”CppCon 2017: Herb Sutter “Meta: Thoughts on generative C++”CppCon 2019: Herb Sutter “De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable”CppCon 2019: Herb Sutter “De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable”CppCon 2018: Mark Elendt “Patterns and Techniques Used in the Houdini 3D Graphics Application ”CppCon 2018: Mark Elendt “Patterns and Techniques Used in the Houdini 3D Graphics Application ”CppCon 2019: Andrei Alexandrescu “Speed Is Found In The Minds of People"CppCon 2019: Andrei Alexandrescu “Speed Is Found In The Minds of People"CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”CppCon 2018: Chandler Carruth “Spectre: Secrets, Side-Channels, Sandboxes, and Security”CppCon 2018: Chandler Carruth “Spectre: Secrets, Side-Channels, Sandboxes, and Security”CppCon 2018: Bjarne Stroustrup “Concepts: The Future of Generic Programming (the future is here)”CppCon 2018: Bjarne Stroustrup “Concepts: The Future of Generic Programming (the future is here)”Back to Basics: RAII and the Rule of Zero - Arthur O'Dwyer - CppCon 2019Back to Basics: RAII and the Rule of Zero - Arthur O'Dwyer - CppCon 2019CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++”CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++”The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]CppCon 2017: Kate Gregory “10 Core Guidelines You Need to Start Using Now”CppCon 2017: Kate Gregory “10 Core Guidelines You Need to Start Using Now”CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"CppCon 2017: Louis Brandy “Curiously Recurring C++ Bugs at Facebook”CppCon 2017: Louis Brandy “Curiously Recurring C++ Bugs at Facebook”Breaking Dependencies: The SOLID Principles - Klaus Iglberger - CppCon 2020Breaking Dependencies: The SOLID Principles - Klaus Iglberger - CppCon 2020CppCon 2018: Andrei Alexandrescu “Expect the expected”CppCon 2018: Andrei Alexandrescu “Expect the expected”
Яндекс.Метрика