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

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

ConferenceTimeDurationParticipantsPlaceVideosCharacteristic
C++ RussiaSpring and autumnThree days200 – 300Moscow or St. PetersburgC++ 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++SpringThree days150 – 200Bochum
  • Very familiar and friendly atmosphere
  • Organized by Auto-Intern
  • Nice social programs
  • Focus on embedded programming with C++
Cpp EuropeSpringTwo days200 – 300BucharestCpp Europe
  • Very good organized with family atmosphere
  • Organized by Mosaic Works
ACCUAprilThree days200 – 300BristolACCU
C++ on SeaSummerThree days200 – 300Folkestone (UK)
  • Very good organized by Phil Nash
  • Extremely beautiful location
C++ NorthSummerThree days200 – 300TorontoC++ North
  • Best organized with family atmosphere
  • The conference has the potential to become very big
CppConSeptemberFive days1000++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++JuneTwo days600 – 700Tel Aviv
  • Well organized with family atmosphere
  • Very enthusiastic participants
Meeting C++NovemberThree days600 – 800BerlinMeeting 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

TitleLanguageEventTownDateLengthSlides/Video
C++11: Quo vadis?GermanCeBITHannover10-Mar-201240 min
C++11: Quo vadis?GermanGesellschaft für InformatikHeidelberg19-Sep-201290 minpdf
C++11: Quo vadis?GermanGesellschaft für InformatikKarlsruhe17-Oct-201290 minpdf
C++11: Quo vadis?GermanGesellschaft für InformatikDortmund05-Nov-201290 minpdf
C++11: An overviewEnglishMeeting C++Neuss09-Nov-201290 minpdf video1 video2
Functional Programming in C++11EnglishFunctional Programming in C++11Neuss10-Nov-201290 minpdf video
C++11: Quo vadis?GermanGesellschaft für InfomatikOstwestfalen04-Dec-201290 minpdf

2013

TitleLanguageEventTownDateLengthSlides/Video
Python, die Sprache für den Systemadministrator?GermanCeBITHannover05-Mar-201330 min
Embedded programming with C++EnglishMeeting C++Düsseldorf09-Nov-201360 minpdf

2014

TitleLanguageEventTownDateLengthSlides/Video
Embedded Programmierung in C++GermanAdvanced Developer KonferenzGarching29-Apr-201480 minpdf
Funktionale Programmierung in C++GermanAdvanced Developer KonferenzGarching30-Apr-201480 minpdf
Functional Programming in C++EnglishC++ User Group RussiaSaratov24-Oct-201460 minpdf video
Embedded Programmierung- die Domäne von C++?GermanEmbedded Software Engineering KongressSindelfingen01-Dec-201440 minpdf
Multithreading done right?EnglishMeeting C++Berlin02-Dec-201460 minpdf video

2015

TitleLanguageEventTownDateLengthSlides/Video
Multithreading done right?EnglishC++ ConferenceMoscow26-Feb-201560 minpdf video
Programmierung zur CompilezeitGermanAdvanced Developers KonferenzErding06-May-201580 minpdf
Multithreading, richtig gemacht?GermanAdvanced Developers KonferenzErding06-May-201580 minpdf
Funktionale Programmierung mit C++GermanLinuxtagTübingen11-Jun-201560 minpdf
Functional Programming in C++EnglishCentral-European Functional Programming SchoolBudapest08-Jul-201590 minpdf
Programmierung zur CompilezeitGermanEmbedded Software Engineering KongressSindelfingen01-Dec-201540 minpdf

2016

TitleLanguageEventTownDateLengthSlides/Video
Das C++ SpeichermodellGermanParallel 2026Heidelberg04-Apr-201660 minpdf
15 Tipps (oder warum es nur 10 wurden)GermanAdvanced Developers KonferenzErding26-Apr-201680 minpdf
Das C++ SpeichermodellGermanAdvanced Developers KonferenzErding27-Apr-201680 minpdf
Das C++ SpeichermodellGermanC++ Usergruppe MünchenPlanegg28-Apr-201680 minpdf
15 Tipps (oder warum es nur 10 wurden)GermanLinuxtagTübingen11-Jun-201660 minpdf
15 Tipps (oder warum es nur 10 wurden)GermanOOSE AbendvortragHamburg29-Sep-201670 minpdf
The C++ memory modelEnglishMeeting C++Berlin18-Nov-201660 minpdf video
Funktionale Programmierung mit modernem C++GermanEmbedded Software Engineering KongressSindelfingen29-Nov-201645 minpdf

2017

TitleLanguageEventTownDateLengthSlides/Video
Funktionale Programmierung in C++GermanC++ Usergruppe KarlsruheKarlsruhe11-Apr-201760 minpdf
Parellism and Concurrency in C++17 and C++20EnglishMulticore@SiemensNürnberg08-Feb-201745 minpdf
Programming at Compile TimeEnglishemBO++Bochum18-Feb-201745 minpdf video
Programming at Compile TimeEnglishC++ ConferenceMoscow24-Feb-201760 minpdf video
Funktionale Programmierung in C++Germansodget IT GmbHBalingen13-Mar-201760 minpdf
Gleichzeitigkeit und Parallelität in C++17 und C+20GermanParallel 2017Heidelberg30-Mar-201770 minpdf
Gleichzeitigkeit und Parallelität ind C++17 und C++20GermanC++ Usergruppe MünchenMünchen30-May-201770 minpdf
Quo vadis Multithreading in C++GermanAdvanced Developers KonferenzMünchen16-May-201770 minpdf
C++17: Was gibts Neues?GermanAdvanced Developers KonferenzMünchen17-May-201770 minpdf
Threads and Locks must goEnglishMeeting C++Berlin09-Nov-201760 minpdf
Secret Lightning TalkEnglishMeeting C++Berlin11-Nov-201710 minpdf video
C++17GermanEmbedded Software Engineering KongressSindelfingen05-Dec-201745 minpdf

2018

TitleLanguageEventTownDateLengthSlides/Video
Best Practices für ConcurrencyGermanParallel 2018Heidelberg07-Mar-201870 minpdf
Best Practices for ConcurrencyEnglishC++ RussiaSt. Petersburg21-Apr-201880 minpdf
Best Practices für ConcurrencyGermanC++ Usergruppe KarlsruheKarlsruhe10-May-201870 minpdf
Best Practices für ConcurrencyGermansodgeIT GmbHBalingen16-May-201860 minpdf
Best Practices für ConcurrencyGermanLinuxtagTübingen09-Jun-201860 minpdf
Concurrency and Parallelism in C++17 and C++20/23EnglishCoreHardMinsk03-Nov-201850 minpdf
The Core Guidelines for Safer CodeEnglishMeeting Embedded 2018Berlin14-Nov-201830 minpdf
Best Practices for ConcurrencyEnglishMeeting C++Berlin17-Nov-201860 minpdf
Die C++ Core Guidelines für sicheren CodeGermanEmbedded Software Engineering KongressSindelfingen04-Dec-201840 minpdf
Migration auf Python 3GermanEmbedded Software Engineering KongressSindelfingen04-Dec-201840 minpdf

2019

TitleLanguageEventTownDateLengthSlides/Video
Die bekanntesten (Online-) Compiler im VergleichGermanParallel 2019Heidelberg21-Feb-201950 minpdf
Concurrency und Parallelität mit C++17 und C++20/23GermanParallel 2019Heidelberg21-Feb-201950 minpdf
Concurrency and Parallelism with C++17 and C++20/23EnglishC++ EuropeBucharest26-Feb-201960 minpdf
Concurrency and Parallelism with C++17 and C++20/23EnglishC++ RussiaMoscow20-Apr-201960 minpdf
ConceptsEnglishC++ ItaliaMilano15-Jun-201950 minpdf video
C++20 – Die Revolution geht weiterGermanLinuxtagTübingen06-Jul-201950 minpdf
ConceptsEnglishCppConAurora16-Sep-201960 minpdf video
Atomics, Locks, and Tasks (Back to Basics)EnglishCppConAurora17-Sep-20192 * 60 minpdf video1 video2
C++20 – The Big FourEnglishC++ RussiaSt. Petersburg01-Nov-201960 minpdf
ConceptsEnglishMeeting C++Berlin14-Nov-201960 minpdf

video

Die bekanntesten (Online-) Compiler im VergleichGermanEmbedded Software Engineering KongressSindelfingen03-Dec-201940 minpdf

2020

TitleLanguageEventTownDateLengthSlides/Video
ConceptsEnglishC++ Usergruppe MünchenOnline26-Mar-202080 minpdf
Migration auf Python 3GermanenterPyOnline26-May-202045 minpdf
ConceptsEnglishCpp EuropeOnline26-Jun-202060 minpdf
ConceptsGermanC++ Usergruppe Karlsruhe/DresdenOnline10-Jul-202060 minpdf
From Functions to CoroutinesEnglishCppConOnline15-Sep-202060 minpdf video
Smart Pointers (Back to Basics)EnglishCppConOnline17-Sep-202060 minpdf video
From Functions to CoroutinesEnglishMeeting C++Online14-Nov-202060 minpdf
C++20 – Die Revolution geht weiterGermanEmbedded Software Engineering KongressOnline01-Dec-202040 minpdf

2021

TitleLanguageEventTownDateLengthSlides/Video
Erweitern und Einbetten von PythonGermanenterPyOnline15-Apr-202145 minpdf
C++20- Die Revolution geht weiterGermanAdvanced Developers KonferenzOnline18-May-202160 minpdf
C++20 – Die Revolution geht weiterGermanUni ZwickauOnline17-Jun-202180 minpdf
Concurrency PatternsEnglishCppConOnline25-Oct-202160 minpdf video
const and constexpr (Back to Basics)EnglishCppConOnline26-Oct-202160 minpdf video
Object Oriented Programming (Back to Basics)EnglishCppConOnline27-Oct-202160 minpdf video
C++20: The Small PearlsEnglishCppConOnline28-Oct-202160 minpdf
C++20: The Hidden PearlsEnglishMeeting C++Online11-Nov-202160 minpdf video
Erweitern und Einbetten von PythonGermanEmbedded Software Engineering KongressOnline30-Nov-202140 minpdf

2022

TitleLanguageEventTownDateLengthSlides/Video
const and constexprEnglishMeeting C++Online25-Jan-202260 minpdf video
Extend and Embed PythonEnglishEmBO++Online26-Mar-202250 minpdf
C++20: The Small PearlsEnglishACCUBristol06-Apr-202290 minpdf video
RangesEnglishC++20 Techniques for Algorithmic TradingOnline26–Apr-2022150 min (including Q&A)pdf video
Concurrency PatternsEnglishCpp EuropeOnline24-May-202260 minpdf
Extend and Embed PythonEnglishC++ NorthToronto18-Jul-202260 minpdf video
Standard Library Containers (Back to Basics)EnglishCppConAurora14-Sep-202260 minpdf  video
The C++ Core Guidelines (Back to Basics)EnglishCppConAurora15-Sep-202260 minpdf video
ConceptsEnglishC++20 Techniques for Algorithmic TradingOnline4-Oct-2022120 min (including Q&A)pdf  video
Extend/embed Python with C/C++EnglishMeeting C++Berlin19-Nov-202260 minpdf
const and constexprDeutschsodgeIT GmbHBalingen28-Nov-202270 minpdf
Die vielen Varianten von Konstantheit in modernem C++
DeutschEmbedded Software Engineering KongressSindelfingen06-Dec-202240 minpdf
Extend/embed Python with C/C++EnglishC++ Techniques for Algorithmic TradingOnline20-Dec-2022150 minpdf video

2023

TitleLanguageEventTownDateLengthSlides/Video
Concurrency PatternsEnglishUser GroupOnline13-Mar-202375 minpdf video
Concurrency in Modern C++EnglishIMCAmsterdam12-Apr-202390 minpdf
Concurrency PatternEnglishC++ RussiaOnline11-May-202360 minpdf
Concurrency in Modern C++EnglishCore C++Tel Aviv06-June-202360 minpdf
C++20: The Small PearlsEnglishC++ On SeaFolkestone29-June-202360 minpdf
Concurrency Improvements in C++20: A Deep DiveEnglishNDC TechTownKongsberg21-September-202360 minpdf
Concurrency Improvements in C++20: A Deep DiveEnglishQTOslo22-September-202360 minpdf

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

Click here to add your own text