

CppCast
Timur Doumler & Phil Nash
Every two weeks, or so, we sit down with guests from the C++ community to discuss the latest news and what they have been up to. Find us at cppcast.com
Episodes
Mentioned books

Dec 1, 2023 • 1h 9min
Catch2 v3 and Random Numbers
Martin Hořeňovský talks about Catch2 v3, portable distributions, and the importance of testing. They discuss random number generation inconsistencies, testing challenges, and potential alternatives for Rust developers.

Oct 20, 2023 • 58min
Physical Units and a System of Quantities
Mateusz Pusz joins Phil and new guest co-host, Anastasia Kazakova. Mateusz talks to us about his physical units (and quantities) library, mp-units, why v2 is a complete redesign compared to the previous version, and how incorporating a system of quantities is so central to this new design.
News
clang 17 released
Conference videos released in October
AMA with Abbas Sabra (automatic/ static analysis)
Is it too hard for junior developers to get on the C++ career ladder (Reddit)
Links
mp-units on GitHub
mp-units - Documentation
C++ on Sea 2023 video
The Mars Climate Orbiter crash
p1935 - "A C++ Approach to Physical Units"
p2980 - "A motivation, scope, and plan for a physical quantities and units library"
p2981 - "Improving our safety with a physical quantities and units library"
p2982 - "std::quantity as a numeric type"
p3003 - "The design of a library of number concepts"

Sep 15, 2023 • 59min
AI and Random Numbers
Frances Buontempo, an expert in modern C++ and machine learning, joins the hosts to discuss her new book and the topic of her previous book on machine learning. They explore the differences between AI approaches, the role of random numbers, and the limitations of random number support in C++.

Sep 1, 2023 • 53min
Automatic Static Analysis
Abbas Sabra joins Phil and Timur. Abbas talks to us about static analysis, the challenges - and benefits - of analysing C++ code, and a new feature from Sonar that can scan public repos with zero config.
News
Boost 1.83.0 released
fmt 10.1 released
The downsides of C++ Coroutines
Links
"All the defaults are backwards" - Phil's Lightning Talk
"No, C++ static analysis does not have to be painful" - Sonar blog
video showing Sonar's Automatic Analysis in action
Sonar Community Discourse forums

Aug 18, 2023 • 52min
Soagen
Mark Gillard, guest co-host Jason Turner and Timur discuss reflection, SIMD, and Mark's library soagen, a structure-of-arrays generator for C++. Topics include Low Latency C++, STL, modules in Flux, pycmake, data-oriented design, toml++, and experiences with open source projects and C++ committee meeting.

Aug 4, 2023 • 59min
How CLion works under the hood
Dmitry Kozhevnikov joins Timur and guest co-host Matt Godbolt. Dmitry talks to us about how the CLion IDE works under the hood.
News
mold 2.0.0 released
CLion 2023.2 released
Should we stop writing functions?
Links
C++ Lambda Idioms: technique to separate user-specified and deduced template parameters
The Kotlin Foundation
JetBrains Runtime
CLion data flow analysis engine
PVS-Studio: 60 terrible tips for a C++ developer

Jul 21, 2023 • 1h 2min
Safety, Security and Modern C++, with Bjarne Stroustrup
Bjarne Stroustrup joins Phil and Timur. Bjarne talks to us about safety in C++ through profiles, as well as modules and concepts - and looks ahead to what else is coming next.
News
C++ Now 2023 videos
ACCU 2023 videos
JetBrains Developer Ecosystem Survey 2023
Upcoming Boost 1.83 release
Links
P2739R0 - 'A call to action: Think seriously about “safety"; then do something sensible about it'
P2687R0 - 'Design Alternatives for Type-and-Resource Safe C++'
'Contemporary C++ in Action' (video) - Daniela Engert

Jul 7, 2023 • 1h 2min
Sequence-Oriented Programming
Tristan Brindle joins Timur and Phil. Tristan talks to us about a safer alternative to iterators and his library, Flux, that implements it.
News
60 terrible tips for a C++ developer
Big, combined, committee trip report from Varna
CLion 2023.2 EAP4: AI Assistant
"Making C++ Memory-Safe Without Borrow Checking, Reference Counting, or Tracing Garbage Collection"
Links
Episode 78 of CppCast, mentioning Cling
Episode of ADSP recorded at C++ on Sea
Episode 152 of CppCast, with Tristan and the C++ London Uni team
Flux on GitHub

Jun 23, 2023 • 1h 11min
Contracts
Joshua Berne joins Phil and Timur. Joshua talks to us about the previous week's ISO C++ meeting in Varna, Bulgaria, then focuses on the current state of the contracts proposal that he has been central to, as well as a bit of its history.
News
ISO C++ trip report's from Varna:
Herb Sutter's trip report
Jonathan Müller's trip report
GCC 14 NRVO enhancements (Reddit)
P2025 proposes guaranteed NRVO
How to get NRVO before C++26
XCode 15 beta
Links
P2831 - "Functions having a narrow contract should not be noexcept"
P2521 - The current contracts MVP
P2695 - "A proposed plan for Contracts in C++"
P2811 - "Contract-Violation Handlers"
P2834 - "Semantic Stability Across Contract-Checking Build Modes"
P2877R0 - "Contract Build Modes, Semantics, and Implementation Strategies"
P2751 - "Evaluation of Checked Contract-Checking Annotations"
P2552 - "On the ignorability of standard attributes"
p2786 - "Trivial relocatability options"
P2839 - "Nontrivial Relocation via a New owning reference Type"
P0843R8 - "inplace_vector"

Jun 9, 2023 • 1h 7min
Modules and build systems
Daniel Ruoso joins Phil and Timur. After covering a couple of blog posts and a new UI library, we welcome Daniel back to talk with us about modules, package and build systems and SG15, the tooling study group. We also revisit the Ecosystem International Standard.
News
Modern C++ In-Depth — Is string_view Worth It?
How to check if a pointer is in a range of memory - Raymond Chen
Nui - new C++ Webview UI library
Nui on Reddit
Timur's Undefined Behaviour survey
Links
P2898R0 - "Importable Headers are Not Universally Implementable"
"Clang Automated Refactoring for everyone with clangmetatool" - Daniel's C++ Now 2019 talk
P1689R5 - "Format for describing dependencies of source files" (Kitware)