All content on the page is based on my experience. This list is, by no means, exhaustive and serves one purpose: to support my Mentees.

Ask me for details if you need more information.

Blogs

Collector

General

Concurrency

Coroutines

Design Patterns

Microsoft

Books

General

Best Practices

Clean Code

  • Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code by J.Guy Davidson, and Kate Gregory (I was a proofreader)
  • Clean C++20: Sustainable Software Development and Best Practices by Stephan Roth (clean code, C++ idioms, functional programming, testing, and design patterns)
  • C++ Coding Standards: 101 Rules, Guidelines, and Best Practices by Herb Sutter and Andrei Alexandrescu (covers legacy C++)
  • C++ Core Guidelines Explained: Best Practices for Modern C++ by Rainer Grimm
  • Embracing Modern C++ Safely by John Lakos, Vittorio Romeo, Rostislav Khlebnikov, Alisdair Meredith (Very detailed discussion of modern C++ features (C++11 and C++14))

Effective C++

  • Effective C++: 55 Specific Ways to Improve your Programs and Design (the classic; covers C++98)
  • More Effective C++: 32 New Ways to Improve your Programs and Design (the extension to the classic; covers C++98)
  • Effective Modern C++: 42 Specific Ways to Improve your Programs and Design (I was a proofreader; covers C++11/14)

by Scott Meyers

Exceptional C++

  • Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (intermediate/advanced challenges; based on C++98)
  • Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions (intermediate/advanced challenges; based on C++98)

by Herb Sutter

Languages

I’m often asked for excellent books learning another programming language. Here are my suggestions.

Haskell

Python

  • Fluent Python by Luciano Ramalho (very informative and advanced)

Legacy Code

Refactoring

Concurrency

Cookbooks

  • Modern C++ Programming Cookbook (Second Edition) by Marius Bancila (More than 100 recipes from core language, library, best practices, testing, including C++20)
  • C++20 STL Cookbook by Bill Weinman (Standard Template library based recipes, including C++20)

Embedded

Efficiency

Functional Programming

Implementation

Introduction

Libraries

Open Source C++ Libraries

Boost

ACE

Patterns

Anti-Patterns

Design Patterns

Embedded

C++

Pattern-Oriented Software Architecture

Software Design

Performance

Software Engineering

  • Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister (the classic about software management)
  • The Mythical Man-Month: Essays on Software Engineering by Fred Brooks (the classic about typical scheduling failures; a must read)
  • The Deadline: A Novel About Project Management by Tom DeMarco

Standard Library

Theory

Templates

Template Metaprogramming

Tools

CMake

Conferences

Conference Time Duration Participants Place Videos Characteristic
C++ Russia Spring and autumn Three days 200 – 300 Moscow or St. Petersburg C++ Russia
  • Very good organized with family atmosphere
  • Created by Sergey Platanov and now maintained by JetBrains
  • Great social events
  • Will probably move to Cyprus
emBO++ Spring Three days 150 – 200 Bochum
  • Very familiar and friendly atmosphere
  • Organized by Auto-Intern
  • Nice social programs
  • Focus on embedded programming with C++
Cpp Europe Spring Two days 200 – 300 Bucharest Cpp Europe
  • Very good organized with family atmosphere
  • Organized by Mosaic Works
ACCU April Three days 200 – 300 Bristol ACCU
C++ on Sea Summer Three days 200 – 300 Folkestone (UK)
  • Very good organized by Phil Nash
  • Extremely beautiful location
C++ North Summer Three days 200 – 300 Toronto C++ North
  • Best organized with family atmosphere
  • The conference has the potential to become very big
CppCon September Five days 1000++ Aurora (near Denver) CppCon
  • The business C++ conference, organized by Jon Kalb
  • You will meet all C++ celebrities
    • Huge program (talks, workshops, presentations … )
Core C++ June Two days 600 – 700 Tel Aviv
  • Well organized with family atmosphere
  • Very enthusiastic participants
Meeting C++ November Three days 600 – 800 Berlin Meeting C++
  • Very good organized with family atmosphere
  • Organized by Jens Weller

Documentation

General

C++ FAQ

C++ Idioms

Guideliness

  • AUTOSAR C++14 (Guidelines for the use of the C++14 language in critical and safety-related systems by the AUTOSAR development partnership)
  • C++ Core Guidelines (Community driven guidelines for best practices in modern C++; editors are Bjarne Stroustrup, and Herb Sutter)
  • MISRA C++ (Based on C++03; the upcoming update is based on C++17 and includes C++20)

Tools

CMake

Conan

Libraries

General

  • Boost C++ Libraries (the unofficial standard for C++ libraries; incubator for future C++ standards)

C++20

Concurrency

Networking

  • POCO by Günther Obiltschnig (lightweight and convenient to use library)

Unicode

  • ICU – International Components for Unicode (industry standard for unicode in C++)

Newsletters

Online Compilers

General

Special

Successors

Carbon

Cppfront

Val

Talks

2012

Title Language Event Town Date Length Slides/Video
C++11: Quo vadis? German CeBIT Hannover 10-Mar-2012 40 min
C++11: Quo vadis? German Gesellschaft für Informatik Heidelberg 19-Sep-2012 90 min pdf
C++11: Quo vadis? German Gesellschaft für Informatik Karlsruhe 17-Oct-2012 90 min pdf
C++11: Quo vadis? German Gesellschaft für Informatik Dortmund 05-Nov-2012 90 min pdf
C++11: An overview English Meeting C++ Neuss 09-Nov-2012 90 min pdf video1 video2
Functional Programming in C++11 English Functional Programming in C++11 Neuss 10-Nov-2012 90 min pdf video
C++11: Quo vadis? German Gesellschaft für Infomatik Ostwestfalen 04-Dec-2012 90 min pdf

2013

Title Language Event Town Date Length Slides/Video
Python, die Sprache für den Systemadministrator? German CeBIT Hannover 05-Mar-2013 30 min
Embedded programming with C++ English Meeting C++ Düsseldorf 09-Nov-2013 60 min pdf

2014

Title Language Event Town Date Length Slides/Video
Embedded Programmierung in C++ German Advanced Developer Konferenz Garching 29-Apr-2014 80 min pdf
Funktionale Programmierung in C++ German Advanced Developer Konferenz Garching 30-Apr-2014 80 min pdf
Functional Programming in C++ English C++ User Group Russia Saratov 24-Oct-2014 60 min pdf video
Embedded Programmierung- die Domäne von C++? German Embedded Software Engineering Kongress Sindelfingen 01-Dec-2014 40 min pdf
Multithreading done right? English Meeting C++ Berlin 02-Dec-2014 60 min pdf video

2015

Title Language Event Town Date Length Slides/Video
Multithreading done right? English C++ Conference Moscow 26-Feb-2015 60 min pdf video
Programmierung zur Compilezeit German Advanced Developers Konferenz Erding 06-May-2015 80 min pdf
Multithreading, richtig gemacht? German Advanced Developers Konferenz Erding 06-May-2015 80 min pdf
Funktionale Programmierung mit C++ German Linuxtag Tübingen 11-Jun-2015 60 min pdf
Functional Programming in C++ English Central-European Functional Programming School Budapest 08-Jul-2015 90 min pdf
Programmierung zur Compilezeit German Embedded Software Engineering Kongress Sindelfingen 01-Dec-2015 40 min pdf

2016

Title Language Event Town Date Length Slides/Video
Das C++ Speichermodell German Parallel 2026 Heidelberg 04-Apr-2016 60 min pdf
15 Tipps (oder warum es nur 10 wurden) German Advanced Developers Konferenz Erding 26-Apr-2016 80 min pdf
Das C++ Speichermodell German Advanced Developers Konferenz Erding 27-Apr-2016 80 min pdf
Das C++ Speichermodell German C++ Usergruppe München Planegg 28-Apr-2016 80 min pdf
15 Tipps (oder warum es nur 10 wurden) German Linuxtag Tübingen 11-Jun-2016 60 min pdf
15 Tipps (oder warum es nur 10 wurden) German OOSE Abendvortrag Hamburg 29-Sep-2016 70 min pdf
The C++ memory model English Meeting C++ Berlin 18-Nov-2016 60 min pdf video
Funktionale Programmierung mit modernem C++ German Embedded Software Engineering Kongress Sindelfingen 29-Nov-2016 45 min pdf

2017

Title Language Event Town Date Length Slides/Video
Funktionale Programmierung in C++ German C++ Usergruppe Karlsruhe Karlsruhe 11-Apr-2017 60 min pdf
Parellism and Concurrency in C++17 and C++20 English Multicore@Siemens Nürnberg 08-Feb-2017 45 min pdf
Programming at Compile Time English emBO++ Bochum 18-Feb-2017 45 min pdf video
Programming at Compile Time English C++ Conference Moscow 24-Feb-2017 60 min pdf video
Funktionale Programmierung in C++ German sodget IT GmbH Balingen 13-Mar-2017 60 min pdf
Gleichzeitigkeit und Parallelität in C++17 und C+20 German Parallel 2017 Heidelberg 30-Mar-2017 70 min pdf
Gleichzeitigkeit und Parallelität ind C++17 und C++20 German C++ Usergruppe München München 30-May-2017 70 min pdf
Quo vadis Multithreading in C++ German Advanced Developers Konferenz München 16-May-2017 70 min pdf
C++17: Was gibts Neues? German Advanced Developers Konferenz München 17-May-2017 70 min pdf
Threads and Locks must go English Meeting C++ Berlin 09-Nov-2017 60 min pdf
Secret Lightning Talk English Meeting C++ Berlin 11-Nov-2017 10 min pdf video
C++17 German Embedded Software Engineering Kongress Sindelfingen 05-Dec-2017 45 min pdf

2018

Title Language Event Town Date Length Slides/Video
Best Practices für Concurrency German Parallel 2018 Heidelberg 07-Mar-2018 70 min pdf
Best Practices for Concurrency English C++ Russia St. Petersburg 21-Apr-2018 80 min pdf
Best Practices für Concurrency German C++ Usergruppe Karlsruhe Karlsruhe 10-May-2018 70 min pdf
Best Practices für Concurrency German sodgeIT GmbH Balingen 16-May-2018 60 min pdf
Best Practices für Concurrency German Linuxtag Tübingen 09-Jun-2018 60 min pdf
Concurrency and Parallelism in C++17 and C++20/23 English CoreHard Minsk 03-Nov-2018 50 min pdf
The Core Guidelines for Safer Code English Meeting Embedded 2018 Berlin 14-Nov-2018 30 min pdf
Best Practices for Concurrency English Meeting C++ Berlin 17-Nov-2018 60 min pdf
Die C++ Core Guidelines für sicheren Code German Embedded Software Engineering Kongress Sindelfingen 04-Dec-2018 40 min pdf
Migration auf Python 3 German Embedded Software Engineering Kongress Sindelfingen 04-Dec-2018 40 min pdf

2019

Title Language Event Town Date Length Slides/Video
Die bekanntesten (Online-) Compiler im Vergleich German Parallel 2019 Heidelberg 21-Feb-2019 50 min pdf
Concurrency und Parallelität mit C++17 und C++20/23 German Parallel 2019 Heidelberg 21-Feb-2019 50 min pdf
Concurrency and Parallelism with C++17 and C++20/23 English C++ Europe Bucharest 26-Feb-2019 60 min pdf
Concurrency and Parallelism with C++17 and C++20/23 English C++ Russia Moscow 20-Apr-2019 60 min pdf
Concepts English C++ Italia Milano 15-Jun-2019 50 min pdf video
C++20 – Die Revolution geht weiter German Linuxtag Tübingen 06-Jul-2019 50 min pdf
Concepts English CppCon Aurora 16-Sep-2019 60 min pdf video
Atomics, Locks, and Tasks (Back to Basics) English CppCon Aurora 17-Sep-2019 2 * 60 min pdf video1 video2
C++20 – The Big Four English C++ Russia St. Petersburg 01-Nov-2019 60 min pdf
Concepts English Meeting C++ Berlin 14-Nov-2019 60 min pdf

video

Die bekanntesten (Online-) Compiler im Vergleich German Embedded Software Engineering Kongress Sindelfingen 03-Dec-2019 40 min pdf

2020

Title Language Event Town Date Length Slides/Video
Concepts English C++ Usergruppe München Online 26-Mar-2020 80 min pdf
Migration auf Python 3 German enterPy Online 26-May-2020 45 min pdf
Concepts English Cpp Europe Online 26-Jun-2020 60 min pdf
Concepts German C++ Usergruppe Karlsruhe/Dresden Online 10-Jul-2020 60 min pdf
From Functions to Coroutines English CppCon Online 15-Sep-2020 60 min pdf video
Smart Pointers (Back to Basics) English CppCon Online 17-Sep-2020 60 min pdf video
From Functions to Coroutines English Meeting C++ Online 14-Nov-2020 60 min pdf
C++20 – Die Revolution geht weiter German Embedded Software Engineering Kongress Online 01-Dec-2020 40 min pdf

2021

Title Language Event Town Date Length Slides/Video
Erweitern und Einbetten von Python German enterPy Online 15-Apr-2021 45 min pdf
C++20- Die Revolution geht weiter German Advanced Developers Konferenz Online 18-May-2021 60 min pdf
C++20 – Die Revolution geht weiter German Uni Zwickau Online 17-Jun-2021 80 min pdf
Concurrency Patterns English CppCon Online 25-Oct-2021 60 min pdf video
const and constexpr (Back to Basics) English CppCon Online 26-Oct-2021 60 min pdf video
Object Oriented Programming (Back to Basics) English CppCon Online 27-Oct-2021 60 min pdf video
C++20: The Small Pearls English CppCon Online 28-Oct-2021 60 min pdf
C++20: The Hidden Pearls English Meeting C++ Online 11-Nov-2021 60 min pdf video
Erweitern und Einbetten von Python German Embedded Software Engineering Kongress Online 30-Nov-2021 40 min pdf

2022

Title Language Event Town Date Length Slides/Video
const and constexpr English Meeting C++ Online 25-Jan-2022 60 min pdf video
Extend and Embed Python English EmBO++ Online 26-Mar-2022 50 min pdf
C++20: The Small Pearls English ACCU Bristol 06-Apr-2022 90 min pdf video
Ranges English C++20 Techniques for Algorithmic Trading Online 26–Apr-2022 150 min (including Q&A) pdf video
Concurrency Patterns English Cpp Europe Online 24-May-2022 60 min pdf
Extend and Embed Python English C++ North Toronto 18-Jul-2022 60 min pdf video
Standard Library Containers (Back to Basics) English CppCon Aurora 14-Sep-2022 60 min pdf  video
The C++ Core Guidelines (Back to Basics) English CppCon Aurora 15-Sep-2022 60 min pdf video
Concepts English C++20 Techniques for Algorithmic Trading Online 4-Oct-2022 120 min (including Q&A) pdf  video
Extend/embed Python with C/C++ English Meeting C++ Berlin 19-Nov-2022 60 min pdf
const and constexpr Deutsch sodgeIT GmbH Balingen 28-Nov-2022 70 min pdf
Die vielen Varianten von Konstantheit in modernem C++
Deutsch Embedded Software Engineering Kongress Sindelfingen 06-Dec-2022 40 min pdf
Extend/embed Python with C/C++ English C++ Techniques for Algorithmic Trading Online 20-Dec-2022 150 min pdf video

2023

Title Language Event Town Date Length Slides/Video
Concurrency Patterns English User Group Online 13-Mar-2023 75 min pdf video
Concurrency in Modern C++ English IMC Amsterdam 12-Apr-2023 90 min pdf
Concurrency Pattern English C++ Russia Online 11-May-2023 60 min pdf
Concurrency in Modern C++ English Core C++ Tel Aviv 06-June-2023 60 min pdf
C++20: The Small Pearls English C++ On Sea Folkestone 29-June-2023 60 min pdf video
Concurrency Improvements in C++20: A Deep Dive English NDC TechTown Kongsberg 21-September-2023 60 min pdf
Concurrency Improvements in C++20: A Deep Dive English QT Oslo 22-September-2023 60 min pdf
Concurrency Improvements in C++20: A Deep Dive English Meeting C++ Online 12-November-2023 60 min pdf video
40 Jahre Evolution: Von Funktionen zu Coroutinen Deutsch Embedded Software Engineering Kongress Sindelfingen 05-December-2023 40 min pdf
Best Practices from the C++ Core Guidelines English C++ Summit Online 17-December-2023 40 min pdf

Podcasts

  • ADSP: The Podcast by Bryce Adelstein Lelbach and Conor Hoekstra (Algorithms + Data Structures = Programs)
  • CppCast by Rob Irving and Jason Turner (continued by Timor Doumler and Phil Nash)
  • cpp.chat by Jon Kalb and Phil Nash (chats with guests from the C++ community)

Videos

Design Patterns