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 GitHub mp-units - Documentation C++ on Sea 2023 video The Mars Climate Orbiter crash p1935 - "A C++ Approach to Physical Units" p2980 - "A motivation, scope, and plan for a physical quantities and units library" p2981 - "Improving our safety with a physical quantities and units library" p2982 - "std::quantity as a numeric type" p3003 - "The design of a library of number concepts"
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 that use modern C++ features (Reddit) Links "C++ Bookcamp" (title may change) - Frances' new book "Genetic Algorithms and Machine Learning for Programmers" - Frances' previous book Overload issues (submit articles on the main ACCU site) Frances' paper bag escapology certificate Shannon's mind reading paper ERNIE (Electronic Random Number Indicator Equipment) P2059R0 - "Make Pseudo-random Numbers Portable" (defunct) "Using, Generating and Testing with Pseudo-Random Numbers" - Frances' ACCU 2023 talk "Program your way out of a paper bag" series: "How to program your way out of a paper bag" (slides) "How to Evolve Your Way Out of a Paper Bag" (video) "Diffuse your way out of a paper bag" (video) "How to Evolve Your Way Out of a Paper Bag" (video) "Crowd Your Way Out of a Paper Bag" (video)
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
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 reflection at ACCU 2023 Data-Oriented Design and Modern C++ at CppNow 2023 Godbolt's law toml++ on GitHub PVS-Studio: 60 terrible tips for a C++ developer
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
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
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
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"
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)
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
Luis Campos joins Phil and Timur. After some compiler and language news, we chat with Luis about the recent Conan 2.0 release, the state of package management in C++, today and what's happening in the world of C++ standards that may impact it in the future. News GCC 13 released CppFront "spring update" Mojo - a new language with Python-like syntax but runs like C++ CrabLang - a fork of Rust Timur's Undefined Behaviour survey Links Conan 2.0 P2656R2 - "C++ Ecosystem International Standard" Conan on Twitter "A Lock-free Atomic shared_ptr" - Timur's C++ Now 2022 talk "Advanced Dependencies Model in Conan 2.0" - Diego's ACCU 2022 talk
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
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
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
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
Richard Smith joins Timur and Phil. After the usual news round-up, we chat with Richard about the new C++ successor language, Carbon. Richard is one of the three lead contributors to Carbon and he discusses the philosophy and some of the special features that make Carbon different. News Conan 2.0 release CMake debugger in Visual Studio Unreal Engine - C++ Complete Guide The Italian C++ Conference Links P1881R0 - Epochs proposal P2137R0 - "Goals and priorities for C++" (from March 2020) Carbon GitHub org - with lots of links
Nina Ranns joins Timur and Phil. After community news, including conferences, a new C++ community in Africa and a new project manager and build system, we talk to Nina about the recent ISO committee meeting in Issaquah where the technical work on C++23 was finalised, as well as an inside look at how the committee works and Nina's current project: allocator-friendly library types that don't allocate. News Core C++ (cfp open) CppIndia cfp C++ Now - call for volunteers C++ on Sea (speakers and tickets) C++ Africa Zork++ 0.5 Links Orsen Scott Card's Beekeeper Analogy P2806R0 - "Do Expressions" Nina's user type categories talk P2644R1 - "Final Fix of Broken Range‐based for Loop" P2047R1 - "An allocator aware optional type" Embracing Modern C++ Safely P2674R1 - "A trait for implicit lifetime types"
Mike Daum joins Phil and Timur. After some community news, including the state of modules support in CMake and a new compile-time parsing library inspired by Rust's macros, we talk to Mike about CppNorth - what it is, how it got started and what makes it different - then about company cultures, a new language from Epic, and the importance of catering to 'Dark Matter Developers'. News ACCU Schedule and registration CMake blog post about the state of C++20 Modules support P1689R5 "Format for describing dependencies of source files" "Macro Rules" - compile-time parser library from Max Pasichnyk Reddit discussion of Macro Rules Links CppNorth Exclusive Discount code for CppNorth registration (while available) CppNorth mentoring email CppNorth mentoring channel on Discord Orsen Scott Card's Beekeeper Analogy Verse, the new Unreal scripting language Talk on Verse, by Simon Peyton Jones "C++ Software Design" (book) - Klaus Iglberger
Dimi Racordon joins Timur and Phil. They first have a couple more conference speaker calls, a new C++20 test framework, and and some updates about Safety in C++ and the C++ successor languages announced last year. Then they talk to Dimi Racordon about the new language, Val, how it relates to C++, and why mutable value semantics are so powerful. News C++ Now Call for Speakers CppNorth Call for Speakers Snitch v1.0 - a "Lightweight C++20 testing framework" "The Year of C++ Successor Languages" - Lucian Radu Teodorescu "Supporting the Use of Rust in the Chromium Project" - Google Security Blog Links "I'll Build Myself" - Phil's song about building C++ P2739R0 - "A call to action: Think seriously about “safety”; then do something sensible about it" P2759R0 - "DG Opinion on Saftety for ISO C++" "The Rule of Two" val-lang.dev - the official website for Val
Honey Sukesan joins Phil and Timur. They first have a couple more conference announcements, an update on Cpp2 and a round-up of C++ in 2022. Then they talk to Honey Sukesan about her journey from working in Healthcare to working in the Automotive industry, and some of the surprising overlaps - as well as her personal journey during along the way. News CppNorth tickets on sale using std::cpp Call for Speakers "Cpp2 and cppfront: Year-end mini-update" "C++ at the end of 2022" - Bartlomiej Filipek "libstdc++13 gets C++20 " Links ToastMasters "Can software developers draw pictures" (Honey's CppCon 2020 Lightning Talk) "SOLID Principles Unleashed" (Honey's CppIndia 2022 talk)