Quo Vadis - Modernes C++

Contents[Show]

DONE: I have written almost 100 posts about C++20. Now, I want to ask you: What should be my next big topic? Make your choice in this poll.

 

First of all, here is an overview of my more than 300 posts, including C++20.

Now, let me take about the future of Modernes C++. I have three ideas: C++23, extending and embedding Python with C/C++, and templates. The poll is open for one week, including the 24.04. This means, in my next post I present your favourite and my plan to write about it.

Quo Vadis: Modernes C++

Make your choice:

What should be the Next Big Topic of my Blog?
  • Votes: (0%)
  • Votes: (0%)
  • Votes: (0%)
Total Votes:
First Vote:
Last Vote:

Maybe, you don't know what to choose. Here is more information about each topic.

C++23

C++20 is just the starting point. There is work to be done in C++23 to fully integrate and use the potential of the Big Four in C++. Let me give you a few ideas about the near C++ future.

  • The Standard Template Library was designed by Alexander Stephanov with concepts in mind. Still, the integration of concepts is missing in C++20.
  • We can expect a modularized Standard Template Library and hope for a packaging system in C++.
  • Many algorithms known from functional programming are still missing in the ranges library. A future C++ standard should improve the interplay of the range algorithms and the standard containers.
  • We don’t have coroutines. We only have a framework for building powerful coroutines. A coroutines library will be, with high probability, in C++23.

Ville Voutilainen’s proposal P0592R4 “To boldly suggest an overall plan for C++23” gives a first idea of the upcoming C++23 standard. Ville names seven features.

  • C++23
    • Library support for coroutine
    • A modular standard library
    • Executors
    • Networking
  • C++23 or later
    • Reflection
    • Pattern matching
    • Contracts

Extending and Embedding Python with C/C++

Python is very communicative. On the one hand, it is very easy to call C/C++ functionality from Python (extend), and on the other hand, Python can be used directly from a C/C++ runtime (embed). Extend allows you to offload performance-critical parts of your program to C/C++. Thanks to embedding a Python interpreter in your C/C++ application, the C/C++ application has a scripting interface.

A few days ago, I gave a German presentation at the EnterPy2021 about extending and embedding Python with C/C++. Here is the presentation

Templates

The future of C++ speaks templates. Sadly, most C++ professionals don't know templates sufficiently well enough. My idea is to provide you with the details about templates. Here is my rough plan:

  • Basics
    • Function templates
    • Class templates
    • Template parameters
    • Template arguments
    • Specialization
  • Details
    • Template Instantiation
    • Variadic Templates
    • Fold Expressions
    • Friends
    • Dependent Names
  • Techniques
    • Automatic return type
    • Template metaprogramming
    • Type traits
    • constexpr
    • constexpr if
  • Design
    • Static versus dynamic polymorphism
    • CRTP (curiously recurring template pattern)
    • Expression templates
    • Idioms and patterns
  • C++20
    • Concepts

Guest Posts

if you want to write an interesting post about C++, I'm happy to publish it on my blogs. This means I publish it on my German and English blogs. You can write it in your mother tongue. I translate it into the another language. You can expect 10.000 - 100.00 readers.

What's next?

Depending on your choice, I present in my next post a detailed plan about my future posts. 

Thanks a lot to my Patreon Supporters: Matt Braun, Roman Postanciuc, Tobias Zindl, G Prvulovic, Reinhold Dröge, Abernitzke, Frank Grimm, Sakib, Broeserl, António Pina, Sergey Agafyin, Андрей Бурмистров, Jake, GS, Lawton Shoemake, Animus24, Jozo Leko, John Breland, Venkat Nandam, Jose Francisco, Douglas Tinkham, Kuchlong Kuchlong, Robert Blanch, Truels Wissneth, Kris Kafka, Mario Luoni, Friedrich Huber, lennonli, Pramod Tikare Muralidhara, Peter Ware, Daniel Hufschläger, Alessandro Pezzato, Bob Perry, Satish Vangipuram, Andi Ireland, Richard Ohnemus, Michael Dunsky, Leo Goodstadt, John Wiederhirn, Yacob Cohen-Arazi, Florian Tischler, Robin Furness, Michael Young, Holger Detering, Bernd Mühlhaus, Matthieu Bolt, Stephen Kelley, Kyle Dean, Tusar Palauri, Dmitry Farberov, Juan Dent, George Liao, Daniel Ceperley, Jon T Hess, Stephen Totten, Wolfgang Fütterer, Matthias Grün, Phillip Diekmann, Ben Atakora, Ann Shatoff, and Rob North.

 

Thanks, in particular, to Jon Hess, Lakshman, Christian Wittenhorst, Sherhy Pyton, Dendi Suhubdy, Sudhakar Belagurusamy, Richard Sargeant, Rusty Fleming, John Nebel, Mipko, Alicja Kaminska, and Slavko Radman.

 

 

My special thanks to Embarcadero CBUIDER STUDIO FINAL ICONS 1024 Small

 

My special thanks to PVS-Studio PVC Logo

 

My special thanks to Tipi.build tipi.build logo

 

My special thanks to Take Up Code TakeUpCode 450 60

 

Seminars

I'm happy to give online seminars or face-to-face seminars worldwide. Please call me if you have any questions.

Bookable (Online)

German

Standard Seminars (English/German)

Here is a compilation of my standard seminars. These seminars are only meant to give you a first orientation.

  • C++ - The Core Language
  • C++ - The Standard Library
  • C++ - Compact
  • C++11 and C++14
  • Concurrency with Modern C++
  • Design Pattern and Architectural Pattern with C++
  • Embedded Programming with Modern C++
  • Generic Programming (Templates) with C++

New

  • Clean Code with Modern C++
  • C++20

Contact Me

Modernes C++,

RainerGrimmDunkelBlauSmall

 

 

 

Stay Informed about my Mentoring

 

Mentoring

English Books

Course: Modern C++ Concurrency in Practice

Course: C++ Standard Library including C++14 & C++17

Course: Embedded Programming with Modern C++

Course: Generic Programming (Templates)

Course: C++ Fundamentals for Professionals

Course: The All-in-One Guide to C++20

Course: Master Software Design Patterns and Architecture in C++

Subscribe to the newsletter (+ pdf bundle)

All tags

Blog archive

Source Code

Visitors

Today 3363

Yesterday 5555

Week 33571

Month 55245

All 12133454

Currently are 198 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments