How C++23 Changes the Way We Write Code - Timur Doumler - CppCon 2022

80,732
0
Published 2023-03-11
cppcon.org/
---

How C++23 Changes the Way We Write Code - Timur Doumler - CppCon 2022
github.com/CppCon/CppCon2022


C++20 was a huge release: coroutines, concepts, ranges, and modules profoundly changed the way we write code and think about C++. In comparison, C++23 is a lot smaller in scope: its primary mission is to complete C++20, to fill holes, and to fix issues. Nevertheless, some great new features made the cut this time around, both in the standard library and in the core language. This is even more remarkable considering that the entire feature design phase of C++23 took place during the COVID-19 pandemic, challenging the ISO C++ committee to completely reinvent how we work together.

This is not a firehose talk about C++23 that tries to cram as many additions and improvements as possible into one hour. Instead, we deliberately focus on just a handful of new features that are going to noticeably change and improve the experience of the everyday C++ programmer. We will talk about how `std::expected` improves error handling, the huge impact that `std::mdspan` will have on scientific computing, how deducing `this` greatly simplifies longstanding C++ idioms such as CRTP, and how `std::print` will forever change how we write "Hello, World".
---

Timur Doumler

Timur Doumler is the Developer Advocate for C++ tools at JetBrains and an active member of the ISO C++ standard committee. As a developer, he worked many years in the audio and music technology industry and co-founded the music tech startup Cradle. Timur is passionate about building inclusive communities, clean code, good tools, low latency, and the evolution of the C++ language.
---

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


#cppcon #programming #coding

All Comments (21)
  • 2023: the year when somebody proudly presents a print function in C++
  • 16:49 at this point I imagined Timur removing these features one by one, and then finishing the talk and asking the audience if there are any questions 🙂
  • amazing, finally i can stop explaining what "cout", "<<", and "endl" means or avoid the question to not explode student's brain when teaching how to program in c++. also, mdspan is amazing, i loved it, really loved it.
  • 16:54 is where the removal of stuff from the list ends and C++23 feature explanations start.
  • @Bolpat
    Please, @CppCon, add chapters to the talks.
  • @isitanos
    Wow. The CRTP simplification is simply amazing.
  • @alexeysubbota
    Timur as always made a great and useful talk! Thank you, I love the way you make your presentations!
  • @voidsifr
    Clicked on the video to see what's going with C++ these days....stayed for the comments LOL
  • @yoavmor9002
    A truly fascinating lecture, start to finish!
  • Regarding std::expected, it will be possible to create a "std::expected coroutine" that uses the coroutine customization points to hide explicit error checking logic using the co_await keyword.
  • @m_sourcerer
    Thank you for this talk, Timur. It was really the cool one.
  • Really cool talk. The one thing that was missing from std::expected was a quick mention of the monadic functions that come with it. In my experience, these make working with std::expected much easier than first thought, especially if you have/want to use it across a larger call stack and to compose multiple functions that return a std::expected.
  • @dark808bb8
    The dynamic multidimensional c code.... its beautiful, all of it :D
  • @totof2893
    I hope one day we will get the same syntactic sugar as Rust with Result, where we use "?" to access the internal value or directly return the error. It would avoid all the boiler plate code of checking the status when you don't want to do anything specific but propagate the error.
  • @lexer_
    Really cool talk as expected from Timur Doumler but I think there would have been time to talk through half of these features just in the time he took to widdle down the list.
  • @heferh4320
    Reading this comments ... i think Cpp needs to be completely remade lol