Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C++17

From Modern to Unbelievably Modern C++

5.00/5 (1 vote)
20 Jun 2023CPOL2 min read 13.4K  
CoreC++ talk - experience summarize, and self opinions

Two weeks ago, I was giving a talk alongside a good friend of mine, Daisy Hollman, at the Israel CoreC++ conference. This was a really exciting & terrifying moment, but giving this talk was very important to me for many reasons. One of the reasons is that I truly believe in the abilities of modern C++ to make any C++ code a better code.

When I started this blog, it was mainly about how to do things in “modern” C++11/14, and how the same things can be done in (really) modern C++17/20.

When I was looking for (const auto& job : jobs), about a year ago in Israel, I was really surprised by how many companies are still working with C++11/14 (and insist on continuing to do that). This was almost the first question I asked during the interview process. Then I asked all these companies, if they are willing to (std::)move (std::)forward to a newer C++ version. The average answer I got was “if there will be reasons for that, we won’t avoid that” (or if (!reasons.empty())), and this answer shows how little knowledge about C++ these companies had.

C++
constexpr long double operator""_percents(long double percents)
{
    return percents * 0.01;
}

Reasons? Almost every C++ conference that exists around the world, has something like 80_percents talks about modern C++ abilities. Abilities like concepts, fold-expressions, attributes, constexpr, syntax, and more. I have to say that I was deeply disappointed by the status of most companies, that their main language (if not the only one) is C++.

So after more than two years of convincing from Inbal Levi, and the help she got from Daisy Hollman this year (and a lot of mental & mentoring support from Dafna Mordechai & Baot community), I decided to finally give a talk about the thing that should have been spoken a very long (long) time ago.

For all talk slides, you can goto the GitHub repo. When the talk will be uploaded to YouTube a goto label will be here too (and you can follow CoreC++ channel for updates).

The talk was better than I (std::)expected, and I got amazing feedback from everyone. It was really exciting to give my first talk in front of so many people, and I hope it will lead the change in the C++ industry.

Think About It

You decided to work with “modern” C++, so it’s time to start working with modern C++ (or at least please don’t look for modern C++ developers if you are currently working with C++14, someone told me that lies can’t (std::)move so far).

It’s time to stop calling C++11/14 modern C++, it’s not modern anymore. Maybe call it “no so old C++”, you may also call it “C/C++”, or even “old modern C++”. But you really don’t have the legitimization to call it “Modern C++”, because it’s not.

And now for some pictures that a good friend took from the talk (thank you Chen Angel):

Image 1

Image 2

Image 3

Image 4

Image 5

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)