Quo Vadis - Modernes C++

Contents[Show]

DONE: I have written almost 100 posts about C++20. Now, I want to ask you the question: 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, in particular including C++20.

Now, let me take about the future of Modernes C++. I have three ideas in my mind: 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 favorite 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 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 other 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, Marko, G Prvulovic, Reinhold Dröge, Abernitzke, Frank Grimm, Sakib, Broeserl, António Pina, Sergey Agafyin, Андрей Бурмистров, Jake, GS, Lawton Shoemake, Animus24, Jozo Leko, John Breland, espkk, Wolfgang Gärtner, Louis St-Amour, Stephan Roslen, Venkat Nandam, Jose Francisco, Douglas Tinkham, Kuchlong Kuchlong, Robert Blanch, Truels Wissneth, Kris Kafka, Mario Luoni, Neil Wang, Friedrich Huber, lennonli, Pramod Tikare Muralidhara, Peter Ware, Tobi Heideman, Daniel Hufschläger, Red Trip, Alexander Schwarz, Tornike Porchxidze, Alessandro Pezzato, and Evangelos Denaxas.

 

Thanks in particular to Jon Hess, Lakshman, Christian Wittenhorst, Sherhy Pyton, Dendi Suhubdy, Sudhakar Belagurusamy, and Richard Sargeant.

My special thanks to Embarcadero CBUIDER STUDIO FINAL ICONS 1024 Small

 

Seminars

I'm happy to give online-seminars or face-to-face seminars world-wide. 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.

New

Contact Me

Modernes C++,

RainerGrimmSmall

 

 

 

My Newest E-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

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 4482

Yesterday 7135

Week 36231

Month 46778

All 6275250

Currently are 275 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments