Episodes
This week we chat with David Sankel and Michael Park about their Pattern Matching proposal, as well as a language level variant. We look at how some judicious use of syntactic sugar can improve even the ugliest part of the sausage. Pattern Matching (as well as the language version of Variant) are progressing well through the committee - potentially on track for C++23. We discuss how, when these land, they are going to impact every single developer - allowing us to inspect and handle values...
Published 09/28/19
This week we chat with Patricia Aas about secure coding practices, using computers to count votes in elections and the two hardest problems in software development. Patricia and Phil have both been at NDC TechTown all week where Patricia gave a keynote, a two-day class, a talk and hosted a meet-up - but still found time to chat with us. We discuss the relationship between secure code and just plain good code (spoiler: they're essentially the same), and how much rigour went into...
Published 09/12/19
This week we're joined by Victor Zverovich as we chat about his string formatting library - which has just been adopted into C++20 - as well as the possibility of a corresponding input library, various smaller C++17 features, and whether it's possible to travel continuously from C++ event to C++ event. We also announce the dates for C++ on Sea 2020, Phil's vision for CppCon's Lightning Talks, as he takes them over, whether we should be removing more from the standard, and look forward to...
Published 08/30/19
This week we chat with Guy Davidson about linear algebra coming to C++, other mathsy stuff, audio, games dev and C++ training evenings. We barely even mention 2D graphics once! Did you know that Guy has written four linear algebra libraries in C++ since 1990? He’s in a good position to be involved with the standardisation effort. But how do you bring something that Fortran excels at to modern standard C++ without it just being the C++ification of Fortran? Listen to find out. Special Guest:...
Published 08/01/19
This week we chat with Juan Pedro Bolívar Puente (a.k.a. JuanPe) about immutable data structures, value types and more - and definitely not functional programming! How can data types be valuable if you can't change them? How can copying huge amounts of data be cheap? How can we go beyond Object-Oriented Programming - and get concurrency almost for free - all without making moral judgements about our code? The answers to all this and more drop out of our chat with Juan Pedro. Special...
Published 07/09/19
This week we chat with Pablo Santos, founder and chief engineer of Plastic SCM, and SemanticMerge. Pablo talks to us about how the "full stack" version control system he created at Plastic SCM differentiates itself in the age of GitHub, how times have moved on for VCS systems (largely driven by GitHub), and how it might even be being used outside of software projects now. We also chat about SemanticMerge, which can automatically - and accurately - merge far more cases than the traditional...
Published 06/14/19
This week we chat with Ivan Čukić about Functional Programming, despite him not wanting to be known as "The Functional Programming Guy", TMP and OO, and how he was taught C++ in high school. How does Ivan balance writing books (in fact will he write another book?) and speaking at conferences internationally, while teaching full time at university? Special Guest: Ivan Čukić. Links: CppCon announcementsReSharper C++ 2019.1 release — Explore the dozens of significant performance improvements...
Published 05/18/19
After a break of a few weeks we're back with an episode actually recorded on March 12th (when Phil had a cold). We chat with Gor Nishanov about Coroutines, which were just adopted into the draft standard for C++20. We talk about what Coroutines are, why recent talks may have been given the wrong impression (as they focused on a library writer's perspective,) what is going into the standard (the core language features) and what is not (library support, performance guaranteed by construction)...
Published 04/29/19
This week we're joined by Ben Craig as we chat about Modules, as was recently adopted into the C++20 draft standard in the meeting at Kona. We talk about how modules interact with build systems, what the deal with macros is, and the new study group set up to advise tools vendors on best practices for supporting modules in an optimal way. We also talk about Ben's ongoing work on moving the Free Standing mode of the standard forwards - and what that really means. To find out what the...
Published 03/13/19
We've talked about contracts before, but this week Björn Fahller joins us to give us his thoughts, based on his recent talk at C++ on Sea. This is all pre-Kona - the recent Standards meeting that saw several tweaks to the wording for contracts in the draft standard for C++20. Björn gives us a refresher of what contracts actually are, and how many of us have been using them in some form for years - even decades. Then we discuss what's actually going into C++20, why that's worth having...
Published 03/05/19
This week we talk to Adi Shavit and Michael Gopshtein about their new conference in Tel Aviv - Core C++. We also get thoroughly distracted by talking about modules - and whether there is a major toolability issue with them, as currently proposed. Special Guests: Adi Shavit and Michael Gopshtein. Links: Core C++Core C++ - Eurovision Ticket Raffle — "We are delighted to announce that as part of the Eurovision diversity outreach, we shall be raffling one free Eurovision ticket!"The Italian C++...
Published 02/16/19
This week we welcome back Kevlin Henney and talk to him about Deliberate Practice: what it is, how to relates to C++ programmers, and the workshop on it he's running with Jon Jagger at C++ on Sea. Along the way we also get into gaming the documentation writing system, the PDSA cycle and Boyd OODA loop, Mind Mapping and TDD. All in the pursuit of becoming better programmers. Special Guest: Kevlin Henney. Links: C++ on Sea - closing soon! — Last chance to get ticketsC++ Now — registration...
Published 01/26/19
This week we chat with Frances Buontempo and Andy Balaam about Machine Learning, Artificial Intelligence and Genetic Algorithms. We learn how ML is mostly just "multiplying and adding up" with a bit of "randomly trying stuff out" but that you might need a kill switch - except when you don't. We also revive the "C++ Lamentations" debate and try to make an iota of difference. Special Guests: Andy Balaam and Frances Buontempo. Links: Frances' book, "Genetic Algorithms and Machine Learning...
Published 01/22/19
This week we’re joined, once again (yet for the first time) by Nicolai Josuttis, and we talk about how much of a C++ expert you need to be to write “Hello, World” and initialize objects. We also discover how strongly Jon feels about initializer_list constructor syntax - and what Nico thinks about it. Special Guest: Nicolai Josuttis. Links: C++17 - The Complete Guide (book) — This book is published incrementally (step-by-step) at leanpub, so that you can benefit from it without waiting until...
Published 01/19/19
Recorded December 14th 2018 This week we welcome Hana Dusíková to the show and we chat about her compiler time regular expressions library, Protocol Buffers, std::embed and getting good compile and runtime performance when doing metaprogramming. Unfortunately, due to an extended edit time, the volunteer and diversity ticket programmes for C++ on Sea , mentioned during the discussion, have already closed. The student programme is still open as this show is published. Special Guest: Hana...
Published 01/11/19
This week we’re joined by Matt “Compiler Explorer” Godbolt as we chat about what your compiler is and isn’t doing for you, doing a keynote for your first talk, and how having co-maintainers lets you go to flute concerts. Links: Compiler ExplorerQuick BenchUndefined Behavior and CERT’s Vulnerability NoteC++ on Sea Volunteers and Student tickets — We are now accepting applications for students and volunteers. These programmes offer cheap (£50 for students) or free (for volunteers) tickets to...
Published 12/18/18
After a bit of a break, we're back - and with non-other than Bjarne Stroustrup! We chat about the state of C++, from the hardcore of the committee to the whole community and also look at where we think it should go and maybe where it is going. Links: C++ on SeaChina CppConCore C++ (Israel)ADC (Videos)San Diego trip-report (Reddit)Bjarne’s CppCon 2018 Keynote
Published 12/04/18
Recorded live at CppCon on September 28th After a bit of a break in the lead up to CppCon, in this interview we chat with Herb Sutter - in front of a live audience at CppCon itself. We chat a bit about the conference, how it has been "the best ever" (yet again), but also how it is the last one... ... in that location (CppCon moves to Aurora, just north of Denver, Colorado, next year). We then dig into Herb's Static(aly-typed, deterministic) Exceptions proposal - what it really means for...
Published 10/19/18
Recorded August 29th 2018 This week we chat with Tristan Brindle, Oli Ddin and Tom Breza about C++ London Uni - a free course, based in London (and remotely), for learning C++. We hear, not only what the course is about and how you can join, but some inside insights into the challenges - and rewards - of teaching C++ to beginners. We also talk about how this is useful even to experienced developers. Guests: Tom Breza Oli Ddin Tristan Brindle Topic Links: C++ London Uni C++ London...
Published 09/17/18
Recorded August 26th 2018 This week we chat with David Schwartz, CTO of Ripple, the company behind the XRP cryptocurrency. He tells us what sets XRP apart from Bitcoin, summarises what Proof Of Work actually means, and how XRP's Distributed Agreement Protocol is better, and some of the reasons that C++ was chosen as the implementation language. Guest: David Schwartz (Twitter) Topic Links: Ripple Other Links: CppCon Field Trip Tool Time at CppCon C++ on Sea free ticket winner  
Published 08/29/18
Recorded August 16th 2018 This week we welcome back Howard Hinnant and Arthur O'Dwyer to discuss Arthur's paper, P1144, "Trivially Relocatable". We talk about what it is, what problems it solves, older papers covering the same ground, and even another in-flight paper (P1029) that it overlaps with. As one of the original authors of C++11's move semantics, Howard is on hand to flesh out the historical perspective. Guests: Arthur O'Dwyer (Twitter) Howard Hinnant (Web) Topic Links: ...
Published 08/20/18
Recorded August 8th 2018 This week we manage to align with the calendars of Kevlin Henney and Martin Hořeňovský to talk about testing and beyond - with a particular focus on Catch2 - past, present and future. We discuss how some of Kevlin's ideas influenced Catch originally, and how Martin later joined as a co-maintainer (who does most of the work). Guests: Martin Hořeňovský Kevlin Henney (website) Topic Links: Kevlin's talk, "Rethinking Unit Testing in C++" Phil's blog post about...
Published 08/17/18
Recorded August 2nd 2018 The week we chat with Eva Conti, Troy Hunt and Matthew Butler on the topic of secure coding (so that's what safe coding is!). Eva and Matt are reformed hackers themselves and share some of their unique insights from the dark side, and how that can inform all of us in our coding practices - including those that think they don't need to worry about security in their environments. Guests: Eva Conti Troy Hunt (Blog) Matthew Butler (Blog) Conference Links: C++ on...
Published 08/16/18
Recorded July 30th 2018 This week we welcome Anastasia Kazakova and Dmitry Kozhevnikov to talk about the recent release of CLion 2018.2, as well as the upcoming release of ReSharper C++. We particularly talk about the new clangd based language engine that CLion now uses alongside it's own, as well as the next step towards alternate build system support - and C++/CLI support in ReSharper C++. We also talk about JetBrains' involvement in the standards committee and the new tooling group,...
Published 08/08/18
Recorded July 22nd 2018 The week we chat with Timur Doumler and Brian Heim about the challenges peculiar to audio development, and find that most are shared with other domains - especially those that consider themselves low-latency and/ or real-time. Timur has, in the past, worked on audio software at ROLI and Native Instruments, and has been a maintainer of the JUCE audio library - but now works on CLion at JetBrains. Brian is a maintainer of SuperCollider, a platform for audio synthesis...
Published 07/31/18