ISO C++ Standards Committee Panel Discussion - Hosted by Herb Sutter - CppCon 2023

7,033
0
Published 2024-01-12
cppcon.org/
---

ISO C++ Standards Committee Panel Discussion - Hosted by Herb Sutter - CppCon 2023

Fireside Chat with the Committee.

Bring your questions! This panel of representative members of the C++ standards committee is ready to discuss everything about C++23 and what to look forward to in Standard C++ in the coming years.

Besides C++’s creator, the panelists include the current leaders of key subgroups. These leaders are responsible for language and library evolution, and topics like compile-time programming, real-time/embedded systems, AI, and teaching as the community starts to absorb all the new features in C++20.

The panel also includes representation of fresh forward-looking thinking with the heads of some of the newest national bodies to join in and participate in ISO C++.
---

Herb Sutter - Host

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

Bjarne Stroustrup

Bjarne Stroustrup is the designer and original implementer of C++ as well as the author of The C++ Programming Language (4th Edition) and A Tour of C++ (3rd edition), Programming: Principles and Practice using C++ (2nd Edition), and many popular and academic publications. To make C++ a stable and up-to-date base for real-world software development, he has been a leading figure with the ISO C++ standards effort for more than 30 years.
---

Nina Ranns

Nina Ranns has been a member of the C++ standard committee since 2013, focusing mostly on the core part of the language, and committee secretary since 2018.
---

Michael Wong

Michael Wong is Distinguished Engineer/VP of R&D at Codeplay Software. He is a current Director and VP of ISOCPP , and a senior member of the C++ Standards Committee with more then 15 years of experience. He chairs the WG21 SG5 Transactional Memory and SG14 Games Development/Low Latency/Financials C++ groups and is the co-author of a number C++/OpenMP/Transactional memory features including generalized attributes, user-defined literals, inheriting constructors, weakly ordered memory models, and explicit conversion operators.
---

Inbal Levi

Inbal Levi is a Lead Software Engineer at Millennium (MPGC Services Ltd) with a passion for high performance, readability, compilers, language, and software design.

She is an active member of the ISO C++ Standards Committee as Library Evolution Work Group Chair, and as the ISO C++ Israeli NB Chair.
Inbal is also a director at ISO C++ Foundation and the Boost Foundation and puts effort into evolving both the local and international C++ communities, as an organizer of the CoreC++ conference and meetup group, and as the program chair of C++Now.
---

Gabriel Dos Reis

Gabriel Dos Reis is a Principal Software Engineer at Microsoft, where he works in the area of large scale software construction, tools, and techniques. He is also a researcher, and a longtime member of the C++ community, author and co-author of numerous extensions to support large scale programming, compile-time and generic programming.
---

Daisy Hollman

Dr. Daisy S. Hollman began working with the C++ standards committee in 2016, where she has made contributions to a wide range of library and language features, including proposals related to executors, atomics, generic programming, futures, and multidimensional arrays.
---

Pablo Halpern

Pablo Halpern is a freelance software developer and consultant. He has been programming in C++ since 1989 and has been a member of the C++ Standards Committee since 2007. His main contributions to the C++ Standard has been in the area of parallel and vector programming, and he is largely responsible for taking allocators from a curiosity in C++03 to a usable feature of the Standard Library in C++11 and beyond. He continues to work on language and library features to make allocator use simpler and less error prone. Pablo is the author of The C++ Standard Library from Scratch (Que, 2000), and is a major contributor to Embracing Modern C++ Safely (Pearson, 2021).
---

Videos Filmed & Edited by Bash Films: www.BashFilms.com/
YouTube Channel Managed by Digital Medium Ltd: events.digital-medium.co.uk/
---

Registration for CppCon: cppcon.org/registration/

#cppcon #cppprogramming #cpp

All Comments (14)
  • @PaulMetalhero
    I think Herb's work is one of the best options for the evolution of C++
  • @taw3e8
    Really great questions this year! Thanks for the Panel ^^ 0:07:05 Favourite feature of C++23/26 0:09:50 Keeping track of what's going on in C++ 0:16:46 Is reflection in C++26 a realistic goal? 0:22:44 First committee meeting 0:26:25 Bad papers vs protesting against them 0:34:30 Dictating optimizations vs leaving it up to implementers 0:40:35 Most elegant part of C++ standard Limerick: c++draft temp expl spec#8 0:48:24 Heavy use of coroutines vs debugging tools 0:56:25 Debugging code that runs at compile time vs tooling (tool name is Templight) 1:09:56 Heterogeneous computing vs standardization 1:19:21 Working on standard vs primary job 1:25:53 New extesnible template features vs compile times
  • @USGrant21st
    Bjarne (@54:00) is totally correct about coroutines. I worked with coroutines when there were not standard coroutines. We worked with fibers in Windows and assembler intrinsics in Unix. Though coroutines are impossible to debug in a usual way due to instruction pointer jumping all over the place, the usefulness of them is immense as you have the ability to do event driven programming, which otherwise is nearly impossible to do with linear programming model. You debug coroutines with putting breakpoints at them, you don't need to step through the code.
  • @USGrant21st
    I've been suggesting extending concepts to cover reflection and code generation. We don't need completely new syntax rules. Concepts fit naturally, just like using concepts in place of class/struct in templates. You could define concepts that would specify code generation as well as constraints. And then you can use natural syntax, for example you want no default constructor, instead of writing class A { A() = delete; }; you write template concept no_default_ctor = requires { T()=delete; }; no_default_ctor A{ };
  • Wait a minute... The standard is not free and the people who treat the comittee work as a second job aren't paid?