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
Similar Podcasts
Running in Production
Hear about how folks are running their web apps in production. We'll cover tech choices, why they chose them, lessons learned and more.
The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career,
through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.
No Diagnostic Required
Every month we bring you news from the world of C++, in the form of a podcast and a YouTube show. Our hosts are Anastasia Kazakova (PMM for CLion and ReSharper C++ at JetBrains) and Phil Nash (Developer Advocated for C++ at SonarSource)
Tease Your C++ Brain
Anders Knatten joins Phil and Timur. Anders reminds us about cppquiz.org and tells to us about his new book, C++ Brain Teasers, how that relates to the site and why it's has good practical applicability. News New report by the US Cybersecurity and Infrastructure Security Agency (CISA) C++ Safe Buffers - a new Clang20 feature CppFront version 0.8 is out “Safe and efficient C++ interoperability via non-escapable types and lifetimes” - from the Swift Forums Links C++ Brain Teasers - Anders' new book C++ Quiz C++ Quiz repo and getting involved Submit your own C++ Quiz questions Modulo One - Anders' band IncludeOS - Episode #63 of CppCast
Realtime Sanitizer and the Performance Constraints attributes
Christoper Apple joins Timur and Phil. Chris talks to us about his work on the new Realtime Sanitizer in the Clang20 release, as well as the associated Performance Constraints attributes, how they differ, and how they work together. News The C++23 Standard has finally been released by ISO "Why Safety Profiles Failed" - draft of new paper from Sean Baxter "if constexpr requires requires { requires }" - Jonathan Müller Links RealtimeSanitizer docs Performance Constraints docs RealtimeSanitizer helper repo (including how to run it "standalone" and find the team on discord) slides from Chris and David Trevelyan's CppCon 2024 talk
Type Erasure, SIMD-Within-a-Register and more
Eduardo Madrid joins Phil and Timur. Eduardo talks to us about the Zoo libraries, including his advanced type-erasure library, as well as the SWAR library which simulates ad-hoc SIMD within a register. We also discuss how he has taken inspiration and cues from the worlds of Biology and Physics to arrive at new thinking around software development, design and architecture. News QT 6.8 is released "Named Loops" proposal adopted into C - will C++ follow? C++ Online Call for Speakers is open Links The Zoo libraries "C++ Software Design" (book) - Klaus Iglberger Klaus Iglberger's talks on Type Erasure: "A Design Analysis" "The Implementation Details" (Some of ) Ed's talks: "Using Integers as Arrays of Bitfields a.k.a. SWAR Techniques - CppCon 2019" "Rehashing Hash Tables And Associative Containers" - C++ Now 2022" "Empowerment with the C++ Generic Programming Paradigm" - C++ Online 2024
Parsing and Analysing C++
Yuri Minaev joins Timur and Phil. Yuri talks to us about static analysis and how PVS Studio helps. Then we chat about his work on a custom C++ parser, and what challenges he's encountered. News CppCon 2024 keynotes on YouTube (via CppCon site): Herb Sutter - "Peering Forward: C++'s Next Decade" Khalil Estell - "C++ Exceptions for Smaller Firmware" Amanda Rousseau - "Embracing an Adversarial Mindset for C++ Security" David Gross - "Ultrafast Trading Systems in C++" Daveed Vandevoorde - "Gazing Beyond Reflection for C++26" Coros - task-based parallelism library built on C++20 Coroutines "The case of the crash when destructing a std::map" - Raymond Chen ACCU 2025 Call for Speakers and (super) Early Bird Tickets Links C++ Under the Sea PVS-Studio PVS-Studio Blog Yuri's Webinar: Parsing C++
CppCon 2024 Live Special
Phil and Timur are joined by a live audience at CppCon as we chat about Safety in C++, AI and the running of CppCast itself. News Clang 19.1 released Sean Baxter's "Safe C++" P3390R0: "Safe C++" - Sean's work written up as a proposal partnership announcement from C++ Alliance Summary article on The Register Links Core C++ (Israel) - Call for Speakers closes 22nd Sept! "Robots Are After Your Job: Exploring Generative AI for C++" - Andrei Alexandrescu's CppCon 2023 talk
Benchmarking Language Keywords
Benjamin Summerton joins Timur and Phil. Ben talks to us about what led him to benchmark the impact of the final and noexcept keywords, how to interpret his results, and the project that inspired him to do so in the first place. News Boost 1.86 released RealtimeSanitizer - new real-time safety testing tool for C and C++ projects that comes with Clang 20 "Honey, I shrunk {fmt}: bringing binary size to 14k and ditching the C++ runtime" Links Previous episodes covering std lib implementations: Stephan T. Lavavej (MSVC) Stephan T. Lavavej and Sy Brand (MSVC) Billy O'Neil (MSVC) Marshall Clow (libc++) Eric Fiselier (libc++) "noexcept affects libstdc++’s unordered_set" - Arthur O'Dwyer Episode with Martin Hořeňovský, discussing non-portal random distribution Episode with Frances Buontempo, also mentioning random numbers and the portable distribution issue "Free Your Functions" (video) - Klaus Iglberger (timed link to the bit that talks about performance) Ben's PSRayTracing repo
Reducing Binary Sizes
Sándor Dargó joins Phil and Anastasia Kazakova. Sándor talks to us about why and how to reduce the final binary sizes your code produces, as well as the importance of clean code. News "cppfront: Midsummer update" Reddit Thread cpp2 episode from last year AutoConfig: C++ Code Analysis Redefined (Sonar) “noexcept Can (Sometimes) Help (or Hurt) Performance” - Ben Summerton Links Binary Sizes posts on Sándor's blog Sándor's books "Parameterized testing with GTest" - Sándor Dargó "How to keep your binaries small?" - Sándor's C++ on Sea talk(s) (will add video links when available)
Swift for C++ Developers
Doug Gregor joins Phil and Kevin Carpenter. Doug talks to us about his work on Swift at Apple, what the language is like and how it can interoperate with C++. News "Memory Safety in C++ vs Rust vs Zig" - B Shyam Sundar C++ under the Sea workshops announced mp-units 2.2.0 released Links "Swift for C++ Practioners" - first in blog series from Doug Gregor Episode 341, with Dave Abraham talking about Swift/ C++ interop "Start with a Protocol" - blog post from Rob Napier (but link to Dave Abraham's "Crusty" talk no longer works) "Option(al) is not a Failure" - Phil's talk about Swift Error Handling "Option(al) is not a Failure" (yes, same name) - Phil's talk about past, present and possible future C++ error handling "Swift Concurrency"
QuantLib
Luigi Ballabio joins Phil and Matt Godbolt. Luigi talks to us about QuantLib, an open-source library for financial models that he co-founded and now maintains. News WG21 St. Luis trip reports: "Official" report, collated by Inbal Levy Herb Sutter's trip report Links QuantLib home page Episode about borrow-checked C++ with Sean Baxter "QuantLib Python Cookbook" - book by Luigi "Implementing QuantLib" - book by Luigi
libunifex and std::execution
Jessica Wong and Ian Petersen join Timur and Phil. Ian and Jessica talk to us about libunifex and other async code projects at Meta, how it has evolved in the proposed std::execution and what structured concurrency is. News XCode 16 beta The std library that ships with XCode 16 supports "hardening" libc++ hardening modes "What’s the deal with std::type_identity?" - Raymond Chen "C++ programmer's guide to undefined behavior: part 1 of 11" - PVS Studio "C++ Brain Teasers: Exercise Your Mind" - Anders Schau Knatten Links "std::execution" - P2300R9 "async_scope – Creating scopes for non-sequential concurrency" - P3149R3 "Notes on structured concurrency, or: Go statement considered harmful" Folly Coro
Boost, The Beman Project and Beyond
Zach Laine joins Phil and Timur. Zach talks to us about the Boost collection of libraries, his contributions to it, a little of its history and where it's going, and a new project that aims to get back to Boost's original roots. News Timing vulnerability in Kyber due to compiler optimization pass JUCE 8 released C++ Under the Sea - new conference in The Netherlands Links Boost
Safe, Borrow-Checked, C++
Sean Baxter joins Timur and Phil. Sean explains how he has managed to implement a borrow checker for C++ in his Circle compiler. In fact his implementation addresses all the same safety issues that Rust addresses. News "Noisy: The Class You Wrote a Hundred Times" Reddit discussion "Addressing That Post About final" Conference News: Pure Virtual C++ 2024 videos C++ on Sea 2024 - full scheduled published Links Jet Propulsion Lab Circle homepage "Safe C++" - Sean's video covering the implementation discussed on the episode P2687R0 - "Design Alternatives for Type-and-Resource Safe C++" - Stroustrup & Dos Reis P2771R0 - "Towards memory safety in C++" Clang's "Lifetime Extensions for C++" RFC
Rust <=> C++
Mara Bos joins Phil and Timur. Mara talks to us about her work on the Rust evolution team and how she uses embedded Rust for drone flight controllers. We chat about some of the differences and similarities between C++ and Rust, and what the two languages can, and should, learn from each other. News GCC 14 released Changes Reddit discussion "An informal comparison of the three major implementations of std::string" (updated) - Raymond Chen BugInsight – New memory leak and deadlock finder for C and C++ on Windows Reddit discussion Links "Rust Atomics and Locks" - Mara's book "driveway moment" (Wiktionary)
JSON for Modern C++
Niels Lohmann joins Timur and Phil. Niels talks to us about his popular JSON library, JSON for Modern C++ (often just known as nlohmann/json, after its github repo). We chat about the history and purpose of the library, with an interesting aside into starting and maintaining a popular OSS library, as well as what Niels is up to today. News "The Performance Impact of C++'s final Keyword" - Benjamin Summerton Reddit discussion Kris Jusiak: Meta-meta programming! (Reddit) Links "Tips on Surveying the C++ Community" - Anastasia Kazakova's talk JSON for Modern C++
Pure Virtual C++
Sy Brand joins Phil and Timur. Sy talks about the imminent Pure Virtual C++ conference that they have been running with Microsoft's backing for a few years. Sy also discuss what they have been up to as Developer Advocate at Microsoft, as well as some fascinating outside interests. News C++ Foundation's C++ 2024 Developer survey results P3236R0: "Please reject P2786 and adopt P1144" P2786R5: "Trivial Relocatability For C++26" P1144R10: "std::is_trivially_relocatable" P1029R3: "move = bitcopies" (earlier alt paper) "C++20 modules and Boost: an analysis" "Boston C++ April 2024 online meetup" Links Sy's short films Pure Virtual C++ 2024 conference 'BF' written in DWARF debug info