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.
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):