

CppCast
Phil Nash & Timur Doumler
Once a month, Jason sits 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

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)

May 26, 2023 • 55min
C++ in Finance
Antony Peacock joins Timur and Phil. After rounding up the news, we chat with Antony about what it's like to work in finance as a C++ developer, the similarities and differences to games dev and how you can break in to a role in finance. We also discuss what it's like to work in tech as someone with dyslexia.
News
Visual Studio 17.6 released
Valgrind 3.21 released
Snitch 1.1
Meeting C++ Call for Speakers (until June 18)
CppCon Call for Speakers (until June 25)
Links
P2547R1 - "Language Support for Customisable Functions"
Maven on C++
"How to get into the tech industry" (Maven's blog)
Interview question at Maven
"C++ 20 Techniques for Algorithmic Trading" (webinar)
"C++ Concepts and Fireside Chat on Algorithmic Trading" (webinar)
"C++ and Python for Algorithmic Trading" (webinar)
Example algo trading code from webinar series (1)
Example algo trading code from webinar series (2)
Antony's article on Neurodiversity and Dyslexia
Diversita (UK)
P0201R6 - "polymorphic_value: A Polymorphic Value Type for C++"
P1950R2 - "indirect_value: A Free-Store-Allocated Value Type For C++"
EVE - the Expressive Vector Engine
P1385R7 - "Linear Algebra"
P1935R2 - "A C++ Approach to Physical Units"
mp-units - Mateusz Pusz' implementation of physical units
P2547R0 - "Language support for customisable functions"
"Why tag_invoke is not the solution I want" - Barry Revzin

May 12, 2023 • 58min
Conan 2.0
Luis Campos, expert in C++ package management and contributor to Conan 2.0, discusses the recent release, challenges in C++ package and dependency management, lack of standardization in interacting with build systems, and the evolution of C++ with active community involvement and user feedback

Apr 28, 2023 • 1h 11min
AI Infrastructure
Ashot Vardanian joins Timur and Phil. After some conference updates, news about the ISO C++ Developer Survey, Sonar integration in Compiler Explorer and some posts on modules and performance, we chat with Ashot Vardanian about AI and the infrastructure that underpins it. Ashot talks to us about some of the libraries and tools he and his startup have been developing over the past few years with some impressive numbers behind them.
News
Core C++ (Israel) - 5th-8th June
Meeting C++ 2023 - 12th-14th November
C++ Now 2023 - 7th-12th May
C++ on Sea 2023 schedule announced - 27th-30th June
CppNorth - 17th-19th July
2023 ISO C++ Developer Survey
"Sonar ❤️ Compiler Explorer: Write clean C++ code inside your browser"
"C++20 modules in clang"
"Horrible Code, Clean Performance"
Links
Unum (Ash's AI research company)
Unum repos on GitHub
Cpp Armenia User Group

Apr 14, 2023 • 53min
Native Languages (programming and natural)
Mathew Benson joins Phil and Timur. After some news on new dev tool releases and some welcome improvements to iostreams in GCC13, we talk to Mathew Benson about what it's like to learn and use C++ in Africa and the implications for the hardware and our choices in programming language. Mathew also draws an interesting parallel to natural languages.
News
CLion 2023.1 released
Qt Creator 10 released
Buck2 released
"A leaner <iostream> in libstdc++ for GCC 13"
Links
Timur's three-question Undefined Behaviour survey
CppAfrica on Twitter
CppAfrica on Discord

Mar 31, 2023 • 1h 10min
Cpp2, with Herb Sutter
Herb Sutter joins Phil and Timur. We catch up on the news about LLVM 16 being released, a new book on initialisation in C++ and a couple of new user groups. Then we talk to Herb about his new language/ alternate syntax, Cpp2, which compiles down to C++ in much the same way that C with Classes compiled down to C.
News
LLVM 16.0.0 released
"C++ initialisation story" - a new book by Bartlomiej Filipek
New user group forming in Prague - Miloš Anđelković
New user group forming in Helsinki - Timur Doumler
Links
CppFront - the compiler for Cpp2
"Can C++ be 10x Simpler & Safer?" - Herb's CppCon keynote introducing Cpp2 and CppFront

Mar 17, 2023 • 1h 12min
Safety Critical C++
Andreas Weis joins Timur and Phil. After some news about Boost, std::format and performance, Andreas talks to us about safety critical application domains, safety in C++ in general, and the difference between safety in security.
News
Boost libraries may drop support for older language versions
"Fun with printing tables with std::format and C++20" - Bartlomiej Filipek
"C++20 Formatting Library, Parts 1. 2 and 3" - Gajendra Gulgulia
"Decreasing the Number of Memory Accesses, 1/2" - Ivica Bogosavljevic
using std::cpp (conference in Madrid)
Links
MUC++ (The Munich C++ User Group)
ComicSansMs - Andreas on StackOverflow
The EU's Cyber Resilience Act
"Why not simply implement borrow checking in C++?" - Sean Baxter on Twitter
P2771R0 - "Towards memory safety in C++"
"Rust Safety is not superior to C++" - Bjarne Stroustrup
P2739R0 - "A call to action: Think seriously about 'safety'; then do something sensible about it"
P2759R1 - "DG Opinion on safety for ISO C++"
P2723R1 - "Zero-initialize objects of automatic storage duration"
D2795R0 - "Correct and incorrect code, and 'erroneous behaviour'"
P2809R0 - "Trivial infinite loops are not Undefined Behavior"
MISRA


