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 boo...
Nov 19, 2024•54 min•Transcript available on Metacast 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 hel...
Oct 29, 2024•1 hr 1 min•Ep 393•Transcript available on Metacast 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 T...
Oct 20, 2024•1 hr 4 min•Ep 392•Transcript available on Metacast 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 Be...
Oct 04, 2024•1 hr 2 min•Ep 391•Transcript available on Metacast 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...
Sep 20, 2024•55 min•Ep 390•Transcript available on Metacast 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...
Sep 06, 2024•1 hr 6 min•Ep 389•Transcript available on Metacast 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 b...
Aug 09, 2024•1 hr 4 min•Ep 388•Transcript available on Metacast 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 "...
Jul 27, 2024•1 hr 3 min•Ep 387•Transcript available on Metacast 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...
Jul 12, 2024•1 hr 1 min•Ep 386•Transcript available on Metacast 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" - And...
Jun 28, 2024•1 hr 2 min•Ep 385•Transcript available on Metacast 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...
Jun 14, 2024•1 hr 4 min•Ep 384•Transcript available on Metacast 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 implementatio...
May 31, 2024•1 hr 9 min•Ep 383•Transcript available on Metacast 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...
May 18, 2024•1 hr•Ep 382•Transcript available on Metacast 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 t...
May 03, 2024•1 hr 8 min•Ep 381•Transcript available on Metacast 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" (...
Apr 23, 2024•1 hr•Ep 380•Transcript available on Metacast 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 s...
Apr 05, 2024•1 hr 1 min•Ep 379•Transcript available on Metacast 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 s...
Mar 11, 2024•1 hr 8 min•Ep 378•Transcript available on Metacast 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 vcp...
Feb 23, 2024•1 hr 1 min•Ep 377•Transcript available on Metacast 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 Raine...
Feb 09, 2024•53 min•Ep 376•Transcript available on Metacast 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...
Jan 26, 2024•1 hr 13 min•Ep 375•Transcript available on Metacast Ville Voutilainen joins Timur and guest co-host, Guy Davidson. Ville talks about his work at The Qt Company and on the C++ standard committee, and about how modern C++ features such as Modules and Sender/Receiver can integrate with the Qt framework. News Matt Godbolt on Computerphile PVS-Studio C++ quiz Boston C++ meetup C++ Now Links P2300R7 - std::execution (a.k.a. Sender/Receiver)...
Jan 12, 2024•1 hr 8 min•Ep 374•Transcript available on Metacast Phil and Timur are joined by ... Timur and Phil for a Holiday Special. We look back on the last year, discuss the news, and talk about what we're working on. News "The Case for Memory Safe Roadmaps" - CISA Experimental EDG Reflection Support Boost 1.84.0 released Cling 1.0 released "About time - how to unit test code that depends on time" - Björn Fahller CppNorth: Call for Speakers "Earlist Bird" tickets ACCU Early bird tickets C++ Online tickets Links Phil and Timur speaking at the December mee...
Dec 29, 2023•1 hr•Ep 373•Transcript available on Metacast Matthias Kretz joins Phil and Timur. Matthias talks about SIMD, including what it is, how it works, and what its useful for. We also discuss his proposal to introduce SIMD vocabulary types and functionality into the C++ standard and how it relates to what was in the Parallelism TS. News MISRA C++ 2023 published Sonar webinar on MISRA C++ 2023 with Andreas Weis nlohmann/json 3.11.3 released reflect-cpp - Reflection library for C++20 Links P1928R7 - "std::simd — merge data-parallel types from the ...
Dec 15, 2023•1 hr 10 min•Ep 372•Transcript available on Metacast Martin Hořeňovský joins Timur and Phil. Martin returns to talk about v3 of Catch2 and how it is different to v2. We also revisit the topic of random numbers and how Martin is still working on portable distributions and why that is important to testing and other domains. News P2662R3 - "Pack Indexing" P1673R13 - "A free function linear algebra interface based on the BLAS" P2546R5 - "Debugging Support" P2996R0 - "Reflection for C++26" "Why I think C++ is still a desirable coding platform compared ...
Dec 01, 2023•1 hr 9 min•Ep 371•Transcript available on Metacast 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 Gi...
Oct 20, 2023•58 min•Ep 370•Transcript available on Metacast Frances Buontempo joins Phil and returning guest co-host, Matt Godbolt. Frances talks to us about her new book on modern C++ as well as her the topic of her previous book on machine learning. We discuss the differences between LLM-based AI and more statistical approaches, as well as where random numbers fit into all this and the limitations of their current support in C++. News CppCon programme announced C++ on Sea videos "Inside STL" - The Old New Thing (August archive) Open source C++ projects...
Sep 15, 2023•59 min•Ep 369•Transcript available on Metacast 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...
Sep 01, 2023•53 min•Ep 368•Transcript available on Metacast Mark Gillard joins Timur and guest co-host Jason Turner. Mark talks to us about reflection, SIMD, and his library soagen, a structure-of-arrays generator for C++. News What is Low Latency C++? C++Now 2023, part 1 What is Low Latency C++? C++Now 2023, part 2 Inside STL: The vector Inside STL: The string Experimenting with Modules in Flux pycmake cpptrace Links Soagen on GitHub Soagen documentation Mike Acton: Data-Oriented Design and C++ at CppCon 2014 Bryce Adelstein Lelbach on SoA and reflectio...
Aug 18, 2023•52 min•Ep 367•Transcript available on Metacast 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...
Aug 04, 2023•59 min•Ep 366•Transcript available on Metacast 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) - Daniel...
Jul 21, 2023•1 hr 2 min•Ep 365•Transcript available on Metacast