
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
Similar Podcasts

The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career,
through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.

Running in Production
Hear about how folks are running their web apps in production. We'll cover tech choices, why they chose them, lessons learned and more.

No Diagnostic Required
Every month we bring you news from the world of C++, in the form of a podcast and a YouTube show. Our hosts are Anastasia Kazakova (PMM for CLion and ReSharper C++ at JetBrains) and Phil Nash (Developer Advocated for C++ at SonarSource)
C++17 Kona Update
Rob and Jason are joined by Patrice Roy to discuss the state of C++17 after the recent ISO Standards meeting at Kona. Patrice Roy has been playing with C++, either professionally, for pleasure or (most of the time) both for over 20 years. After a few years doing R&D and working on military flight simulators, he moved on to academics and has been teaching computer science since 1998. Since 2005, he’s been involved more specifically in helping graduate students and professionals from the fields of real-time systems and game programming develop the skills they need to face today’s challenges. The rapid evolution of C++ in recent years has made his job even more enjoyable. He’s been a participating member in the ISO C++ Standards Committee since late 2014 and has been involved with the ISO Programming Language Vulnerabilities since late 2015. He has five kids, and his wife ensures their house is home to a continuously changing number of cats, dogs and other animals. News Herb Sutter's Trip report: Winter ISO C++ standards meeting, C++17 is complete Botond's Trip Report: C++ Standards Meeting in Kona, February 2017 Software Engineering Institute Makes CERT C++ Coding Standard Freely Available C++ Now 2017 Program Available Patrice Roy @PatriceRoy1 Patrice Roy's Blog Links C++ Standards Consistent comparison (Herb Sutter's Comparison Proposal) Sponsors Incredibuild JetBrains
Safe Numerics
Rob and Jason are joined by Robert Ramey to discuss his Safe Numerics library and the process of submitting libraries to both Boost and the C++ Standards Committee. Robert Ramey is a freelance C++ programmer for around 20 years. He has worked on a variety of applications including desktop retail applications, embedded systems on tiny micro controllers and combinations of these. For the last 10 of those years he has been active in the Boost Organization and Author and Maintainer of the Boost Serialization library Instigator of the Boost Library Incubator (www.blincubator.com) Given talks on Boost/C++ related topics at C++Now and CPPCon Written articles in print periodicals such as Software Development and ACCU Overload Of late his interest has become more focused on practical approaches to improving program correctness. This has motivated recent talks at CPP Con ( boost units library, C++ and abstract algebra) and most recently the Safe Numerics library - which has very recently been accepted as an official Boost Library. News Does const mean thread-safe? Meeting C++ Live: Multithreading with Rainer Grimm Implementation Challenge flag_set: Type-safe hard to misuse bitmask Programmers: Stop Calling Yourselves Engineers Robert Ramey @robertramey1 Robert Ramey Software Development Links Safe Numerics Library CppCon 2016: Robert Ramey "Safe Numerics Library" Boost Library Incubator Sponsors Incredibuild JetBrains
C++ Game Development at Blizzard
Rob and Jason are joined by Ben Deane from Blizzard Entertainment to talk about C++ game development and more. Ben started in the games industry in the UK in 1995, when he got hired at Bullfrog straight after graduating from university. While there he worked on several games there like Syndicate Wars and Dungeon Keeper. By the late 1990s he had stopped using C and was allowed to use C++ at work. In 2001 he moved to Kuju Entertainment and did a couple of games on XBox and PS2, then in 2003 he was hired by EA again and moved to Los Angeles, where he worked on the Medal of Honor series. He's always been a network game programmer, and in 2008 after a project cancellation at EA, he joined Blizzard as a lead engineer on Battle.net, working on technology for all of Blizzard's games. Today he's a principal engineer at Blizzard and the technical lead on the Battle.net desktop application. He's also a functional programming hobbyist who tries to use what he learns in Haskell to write better C++, and in recent years he has given several C++ conference talks at C++Now and CppCon. News Insomniac Games Cache Simulator Functors are not dead: the double functor trick Pi Day Challenge I'm Done - Geschafft: Words about the Future of my Blogs Check for const correctness with the C++ Core Guidelines Checker Ben Deane @ben_deane Ben Deane on GitHub Ben Deane's Blog Links Blizzard Entertainment Blizzard Careers CppCon 2016: Ben Deane "Using Types Effectively" CppCon 2016: Ben Deane "std::accumulate: Exploring an Algorithmic Empire" Sponsor Incredibuild JetBrains
Visual Studio 2017 for C++ Developers
Rob and Jason are joined by Daniel Moth to talk about the new C++ features of Visual Studio 2017. Daniel Moth joined Microsoft in the UK in 2006, before transitioning to Redmond in 2008 to work as a Program Manager on Visual Studio, which is where he is still working today. Before Microsoft he worked as a software developer in the industry for almost a decade, most of that time building mobile apps. News The C++17 Lands Learn C++ Concepts with Visual Studio and the WSL Partial Ordering: An enigma wrapped inside of a riddle, wherein all compilers agree to be wrong Daniel Moth @danielmoth Links Visual Studio 2017 for C++ Developers - you will love it Top 7 things to be excited about as a C++ developer in Visual Studio 2017 CppCon 2016: Carroll & Moth "Latest and Greatest from the visual Studio Family for C++ Developers" Visual C++ Team Blog Sponsor Incredibuild JetBrains
emBO++
Rob and Jason are joined by Odin Holmes to talk about the recent Embedded C++ development conference emBO++. Odin Holmes has been programming bare metal embedded systems for 15+ years and as any honest nerd admits most of that time was spent debugging his stupid mistakes. With the advent of the 100x speed up of template metaprogramming provided by C++11 his current mission began: teach the compiler to find his stupid mistakes at compile time so he has more free time for even more template metaprogramming. Odin Holmes is the author of the Kvasir.io library, a DSL which wraps bare metal special function register interactions allowing full static checking and a considerable efficiency gain over common practice. He is also active in building and refining the tools need for this task such as the brigand MPL library, a replacement candidate for boost.parameter and a better public API for boost.MSM-lite. News Elle, our C++ core library is now open source Yet Another description of C++17 features; this time present mostly in Table form Atomic Smart Pointers COMMS Library Odin Holmes @odinthenerd Odin Holmes on GitHub Odin Holmes' Blog Links emBO++ - Embedded C++ Conference in Bochum Kvasir Meeting C++ Lightning Talks - Odin Holmes - Modern special function register abstraction Brigand Sponsor Backtrace JetBrains
Trompeloeil Mocking Framework
Rob and Jason are joined by Björn Fahller to talk about the trompeloeil Mocking Framework for Modern C++ Unit Testing. Björn Fahller is a senior developer at Net Insight, and has been developing software for a living since 1994, mostly embedded programming for communications devices. Björn learned C++ from usenet and the ARM (Annotated Reference Manual) which was the standard before there was a standard. On a hobby basis, Björn likes to find silly solutions to non-problems and to explore effects of programming constructs. Outside of programming, Björn is a member of a small group thet brews beer together, and is also a member of a volunteer organization of aviators who help with things like search and rescue operations, forest fire monitoring, and storm damage assessment. News Multithreading with C++17 and C++20 Distinguishing between maybe-null vs never-null is the important thing Going Native 56: Cmake in Visual Studio Björn Fahller @bjorn_fahller Playful Programming Links Trompeloeil Mocking Framework Björn Fahller - Mocking Modern C++ with Trompeloeil Sponsor Backtrace JetBrains
Jumping into C++
Rob and Jason are joined by Alex Allain from Dropbox to talk about Dropbox's Djinni code generator and Alex's book Jumping into C++. Alex Allain is a Director of Engineering at Dropbox. He was one of the first engineers on the Dropbox Business product before leading Dropbox's Product Platform group, whose initiatives includes the Dropbox Sync Engine, shared mobile C++ and developer tools. Alex has run Cprogramming.com since 1998 and is the author of Jumping into C++, a book for new programmers. News CppChat: The Great Functor Debate (Ben, Jackie, and Jonathan) Monads in C++ COMMS Library Undefined behavior in C and C++ programs Alex Allain @alexallain Links Djinni CppCon 2014: Alex Allain & Andrew Twyman "Practical Cross-Platform Mobile C++ Development" CppCon 2015: Jacob Potter & Andrew Twyman “Bridging Languages Cross-Platform..." Djinni in a bottle - Easily share code between iOS and Android using C++ by Stephan Jaetzold nn: Non-nullable pointers for C++ mypy: Optional static typing for Python 2 and 3 (PEP484) cprogramming.com Jumping into C++ (Amazon) Sponsor Backtrace JetBrains
Microsoft's STL
Rob and Jason are joined by Stephan T Lavavej to talk about Microsoft's STL and some of the changes to the Library coming in the VS 2017 release. Stephan T. Lavavej is a Principal Software Engineer at Microsoft, maintaining Visual C++'s implementation of the C++ Standard Library since 2007. He also designed a couple of C++14 features: make_unique and the transparent operator functors. He likes his initials (which people can actually spell) and cats (although he doesn't own any). News CppChat "The Great Functor Debate" is Saturday Implementing State Machines with std::variant STL learning resource Stephan T. Lavavej @StephanTLavavej Links STL Fixes in VS 2017 RTM C++ 14/17 Features and STL Fixes in VS "15" Preview 5 C++ 14/17 Features and STL Fixes in VS “15” Preview 4 Sponsor Backtrace JetBrains
News Roundup
Rob and Jason discuss two weeks worth of C++ news, updates and blog posts. News What's in C++17? CodeChecker Const, Move and RVO Add a const here delete a const there How C++ lambda expressions can improve your Qt code 'yield' keyword to become 'co_yield' in VS 2017 Compiler Explorer now on Patreon JSON for Modern C++ Version 2.1.0 Catch 1.7 Stop calling "Function Objects" "Functors" Meeting C++ 2016 Playlist How to choose good names Links @robwirving @lefticus Sponsor Backtrace JetBrains
Beast
Rob and Jason are joined by Vinnie Falco to talk about the Beast HTTP and Web Sockets library. Vinnie Falco started programming on an Apple II+ in 1982. He did significant work on Canvas, an early 1990s desktop publishing program that starting on the Macintosh. A while later he wrote BearShare - a Gnutella compatible file sharing program. After that Vinnie joined up with Ripple, a company that is developing a global financial settlement network built on top of a decentralized cryptocurrency and its associated ledger. Ripple has graciously given him the opportunity to develop and publish Beast, the HTTP and WebSocket library written in C++ and used in Ripple. News Winners of the 2016 Software Developer Podcast Awards The Salami Method g++7 is C++17 complete .NET Rocks: C++ for a New Generation with Kate Gregory Catch 1.6 release Order Your Members Vinnie Falco @falcovinnie Vinnie Falco's GitHub Links Beast Library CppCon 2016: Vinnie Falco "Introducing Beast: HTTP and WebSockets C++ library" Ripple Sponsor Backtrace
Library Working Group and libc++
Rob and Jason are joined by Marshall Clow to talk about his role on the C++ Standards Committee's Library Working Group. Marshall is a long-time LLVM and Boost participant. He is a principal engineer at Qualcomm, Inc. in San Diego, and the code owner for libc++, the LLVM standard library implementation. He is also the chairman of the Library Working Group of the C++ standards committee. He is the author of the Boost.Algorithm library and maintains several other Boost libraries. News C++Now 2017 Call for Submissions 2017 European LLVM Developers Meeting Passing functions to functions A Tourist's Guide to the LLVM Source Code Marshall Clow @mclow Marshall's C++ Musings Links "libc++" C++ Standard Library Qualcomm The Committee: WG21 CppCon 2016: Marshall Clow "STL Algorithms - why you should use them, and how to write your own" CppCon 2015: Marshall Clow "string_view" Sponsor JetBrains
Memory Algorithm Proposal
Rob and Jason are joined by Brittany Friedman to talk about her accepted C++17 proposal which adds new algorithms and utilities for memory management and the process she went through getting the proposal accepted. Brittany Friedman is a dense collection of matter formed from molecules originating from inside the sun. She currently works as a programmer at Gearbox Software, where she weaves ones and zeroes into intricate little patterns. Her proposal for new memory management algorithms was accepted for C++17 and a bug that she filed against the C++ standard was fixed the way that she recommended. So basically you do not want to trifle with her. News 2016 Software Developer Podcast Awards Keep Disabling Exceptions C++17 Why it's better than you might think A new way of blogging about C++ Brittany Friedman @listenserver Brittany Friedman's GitHub Links Extending memory management tools drpdb: Convert from Microsoft PDB format into a MySQL database Symbol Sort: A Utility for Measuring C++ Code Bloat Gearbox Software CppCon 2016: Nicholas Ormrod "The strange details of std::string at Facebook" Sponsor JetBrains
Regular Void
Rob and Jason are joined by Matt Calabrese to talk about his Regular Void Proposal, template<auto>, the state of Concepts and more. Matt Calabrese is a software engineer working primarily in C++. He started his programming career in the game industry and is now working on libraries at Google. Matt has been active in the Boost community for over a decade, is currently a member of the Boost Steering Committee, and is a member of the Program Committee for C++Now. Starting in the fall of 2015, he has been attending C++ Standards Committee meetings, authoring several proposals targeting the standard after C++17, notably including a proposal to turn the void type into an instantiable type and a proposal for the standard library to introduce a generic algorithm for invoking standard Callables with argument types and argument amounts that may be partially calculated at compile-time or at runtime. He is also the author of the controversial paper "Why I want Concepts, but why they should come later rather than sooner", which may have contributed to the decision to not include the concepts language feature in C++17. News 2016 Software Developer Podcast Awards My take at times A C++ program to get CPU usage from command line in Linux Pointer comparison an invalid optimization in GCC Matt Calabrese @cppsage Links Boost C++Now P0146: Regular Void (Revision 1) P0376: A Single Generalization of std::invoke, std::apply, and std::visit P0240: Why I want Concepts, but why they should come later rather than sooner Sponsor Backtrace
Catch 2 and C++ the Community
Rob and Jason are joined by Phil Nash, Developer Advocate at JetBrains, to talk about updates to the Catch Unit test library and new features coming to CLion and ReSharper for C++. Phil started coding back in the early 80s, on 8-bit home computers: from the ZX-81 to the Commodore 64, in BASIC and assembler. He later moved on to PCs and C++ in the early 90s and, despite forays into other languages, keeps coming back to C++. His career has taken him through domains such as anti-virus, mobile, finance and developer tools - among others. He's the original author of the C++ test framework, Catch and is now Developer Advocate at JetBrains for CLion, AppCode and ReSharper C++. His hobbies include writing podcast bios and trolling the podcast hosts. News Minimal, Header only Modern C++ library for colors in your terminal The view from Nov 2016 C++ standard Meeting Issaquah C++ version of ruby's integer::times via user-defined literals Phil Nash @phil_nash Level of Indirection Extra Level of Indirection Links Catch C++::London Munich User Group: Functional C++ for Fun and Profit YouTube: Functional C++ for Fun and Profit JetBrains ReSharper Ultimate 2016.3 is Released JetBrains CLion Discounts JetBrains AppCode Discounts JetBrains ReSharper C++ Discounts CppCon 2016: Nicholas Ormrod "The strange details of std::string at Facebook" Sponsor JetBrains
C++ Game Development at Ubisoft
Rob and Jason are joined by Nicolas Fleury, Technical Architect at Ubisoft Montreal, to talk about the development and performance tuning techniques used at Ubisoft on games like Rainbow Six Siege. Nicolas has 13 years of experience in the video game industry, more years in the software industry in telecoms, in speech recognition and in computer assisted surgery. Technical Architect on Tom Clancy's: Rainbow Six Siege, he is one of the key Architects behind some collaboration initiatives at Ubisoft and was also Technical Architect on games like Prince of Persia. He presented at CppCon 2014 "C++ in Huge AAA Games". News Bjarne Stroustrup - Keynote Meeting C++ 2016 Investigating Radix Sort How to use PVS-Studio for Free Nicolas Fleury Nicolas Fleury Links Ubisoft Montreal CppCon 2014: Nicolas Fleury "C++ in Huge AAA Games" CppCon 2016: Nicolas Fleury "Rainbow Six Siege: Quest for Performance" SG14 Group CppCon 2014: Mike Acton "Data-Oriented Design and C++" CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11" CppCon 2016: Nicholas Ormrod "The strange details of std::string at Facebook" Sponsor JetBrains