CppCast

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

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

11-19
54:06

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

10-29
01:01:02

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

10-20
01:04:07

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 (download) PVS-Studio Blog Yuri's Webinar: Parsing C++

10-04
01:01:30

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

09-20
54:41

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 Join us for the CppCast CppCon Special 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

09-06
01:05:48

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)

08-09
01:04:28

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"

07-27
01:02:57

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

07-12
01:01:00

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

06-28
01:01:55

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

06-14
01:04:05

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

05-31
01:09:10

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)

05-18
01:00:21

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

05-03
01:07:58

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

04-23
01:00:29

Heterogeneous Computing and C++ Language Evolution

Erich Keane joins Timur and Phil. Erich chats about the recent WG21 meeting in Tokyo, his roles as chair and co-chair of the Language Evolution and Language Evolution Incubator working groups, respectively, as well as heterogeneous computing and his work at NVidia. News CppCon - Call for Speakers ACCU 2024 Online Bjarne Stroustrup responds to White House warning against C++ David Sankel's post on Boost split Links New C++ meetup in Vienna, Austria Tokyo ISO C++ Committee Trip Reports: In-depth status report Herb Sutter's report Think-Cell's trip report (Jonathan Müller) Papers discussed: P2900R6 - "Contracts for C++" P2996R2 - "Reflection for C++26" P2688R1 - "Pattern Matching: match Expression" P2830R1 - "Standardized Type Ordering"

04-05
01:00:51

Psychology and Starting Out as a Developer

Gail Ollis joins Phil and Matt Godbolt. Gail talks to us about why, after two decades of software development, she took a degree in psychology followed by a PhD that researched the psychology of software development - and how she now uses this to help others get started and, hopefully, avoid many of the human issues that can plague our software projects. News "Contracts MVP is Feature Complete" - Reddit "Contracts for C++" Timur's C++ London talk Gemini refuses to talk about C++ 20 Concepts to someone under the age of 18! Hacker News thread Twitch streamer's reaction (ThePrimeTime) “White House urges developers to dump C and C++” - InfoWorld Conferences: C++ on Sea Early Bird tickets and option, CfP closes soon (3rd-5th July) using std::cpp, Madrid (24th-26th April) C++ Now (29th April - 3rd May) ACCU full schedule and volunteers programme (17th-20th April) Links "Early Careers Day: A mini-conference for junior developers" - Gail's ACCU 2024 workshop "The kids are alright" - Gail's ACCU 2024 session showcasing her students Paper's Gail has co-authored on blending cyber security and software development: Putting the Sec in DevSecOps: Using Social Practice Theory to Improve Secure Software Development Dancing, not Wrestling: Moving from Compliance to Concordance for Secure Software Development "Helping developers to help each other: a technique to facilitate understanding among professional software developers" - Gail's PhD thesis

03-11
01:07:41

Compiler Explorer Revisited

Patrick Quist joins Phil and Timur. Patrick chats with us about their work on the Compiler Explorer team and how they got into it. We explore some useful features that may not be as widely known, and take a peek under the hood at how it all runs. News "C++ Package Managers: The Ultimate Roundup" - blog post by Christopher McArthur "Demystifying Lakos Rule via Visualization and How It Could Relate to Constexpr" blog post by Miro Palmu "A Year of C++ Improvements in Visual Studio, VS Code, and vcpkg" - blog post by Sy Brand NVidia interview question - Reddit thread Links History of Delphi Compiler Explorer Also Compiler Explorer Compiler Explorer Public Dashboard (live stats)

02-23
01:00:32

Teaching and Training Modern C++

Rainer Grimm joins Timur and Phil. Rainer talks to us about what he has learnt from many years of teaching C++ as a professional trainer, how training has become more accessible now more people are taking it online, and his thoughts on modern C++. News The C++ Iceberg "C++20 Concepts applied - Safe bitmasks using scoped enums" - blog post by Andreas Fertig ACCU conference: Early-bird tickets and workshops Links Reddit thread on Episode 375 with Daveed Vandervoorde Rainer's website and blog Rainer at Meeting C++ online, Feb 21st Rainer's "Concurreny in Modern C++" workshop at C++ Online, March 14th

02-09
52:47

Reflection for C++26

Daveed Vandevoorde joins Phil and Timur. Daveed talks a bit about his work at EDG, but mostly his efforts to get Reflection into C++26, along with his co-authors, and how that fits into the big picture. News Meeting C++ 2023 videos (including all keynotes) "A 2024 Discussion Whether To Convert The Linux Kernel From C To Modern C++" How do you correctly implement std::clamp? Blog post Reddit discussion C++ Online Workshops Links P2996R1 - "Reflection for C++26" P1240R2 - "Scalable Reflection in C++" "C++ Templates - The Complete Guide" - book (Vandevoorde, Josuttis)

01-26
01:12:32

Ali

It was a great episode. As a new listener of your podcast, the things that I found interesting here is that you talk about the fundamentals of the topic, what's new about it, introducing resources, and asking your guest whether listeners can contact him/her. So, here is another comment that is not criticizing :D. I wish you the best.

01-27 Reply

Daniel Eguia

heard an interview you did on Embedded FM. cant wait to catch up on some of your past episodes.

06-06 Reply

Luis Filipe

great show. I had the opportunity to watch Jason turner live talk at meeting cpp 2017. he is indeed a gifted speaker who can capture the attention of an audience.

11-27 Reply

samuel srikar

amazing

11-13 Reply

Dhruva Krishnamurthy

please add a podcast description. I don't see it in castbox player

07-06 Reply

Recommend Channels