Dawn of a new C++ cycle
Some thoughts on where C++ stands right now as a language and communtiy.
It was 10 years ago when one would realize that a new era for C++ was in its beginning: C++11 was a fundamental change. Many things that one wanted to have in the language or standard library suddenly became available, if one had the right compiler in the newest version. And in this time 10 years ago, the first C++now happend in Aspen, as it has again in the beginning of May.
I remember these days in Aspen back then. Having a great week while talking my self into what now has become Meeting C++. Thinking back to this time, made me realize the parallels that we have again in these days. Like back then, a new standard becomes available with the newer compiler versions. Concepts and Modules bring a new era to C++, and again we face the task of spreading the knowledge on the "new C++" to the world wide community of C++ programmers.
C++20 is now widely available in the 3 leading compilers. The early adopters will already start to use the C++23 features when they become available to them. C++20 offers with concepts, ranges and modules important new features that will redefine how C++ is used in this decade.
One can also see how seemingly a new cycle begins to form. While C++20 had all the great features, C++23 seems similar to C++14 for me. Adding mostly important features to the things that got released with C++20. And if things follow suit, C++26 will include all the great features that couldn't catch the 23 train.
Part of the history for C++23 is of course the pandemic. One could argue that progress was slowed due to lack of in person meetings for 2 years, plus the general toll the pandemic took from everyone. Looking back at the first two years of the pandemic, they've been also a chance to establish a process to work papers online, much more then prior would have been possible.
For conferences, back in the day, C++now in Aspen was inspiring myself to start a conference in Germany with Meeting C++. The first year in 2012 was a great success, and ever since it has been a yearly conference. Two years later CppCon came to life through the success of C++11 and conferences like C++now and Meeting C++. And in the following years even more conferences got their start. And in these days, also for conferences a new cycle has begun.
In 2020 everything moved online due to the pandemic. In 2022 now most conferences will start to become hybrid. Meeting C++ embraced the new online world with its Meeting C++ online user group. This years conferences are not going to be like they were prior to the pandemic. Likely we'll not get back to this format 100% directly, as hybrid is likely here to stay. For the next years I think that most conferences will have to grow back to their sizes they had in 2019 on site. If hybrid stays around is also not a given. The streaming adds an overhead in costs, and organizations will have to run two events in parallel. I hope that this gets easier over time, and eases the overhead to enable our conferences to gain more reach into the C++ community. But I think the online events of the last years have also shown the value of being onsite with everyone else immersed into the event. Thats something which does not work for online.
Similar for the work on C++ it self with WG21, I hope that the valuable gained experience of organizing groups online stays in place and helps C++ process more features for future standards. The in person meetings will resume, become important again. But the committee should not ignore those that simlpy can't travel to Hawaii to work on C++.
Another important part of the C++ community are local User Groups. In the last decade a lot of new groups got founded and have been running for a few years. Some groups have stayed active with online meetings during the pandemic, but also a good portion has suspended their onsite meetings. And starting again has some challenges, like is your prior hosting solution still availble? Some hosting companies aren't yet ready to host public meetings again. Some groups will have to transition to a new set of organizers, as the old ones might resign.
Join the Meeting C++ patreon community!
This and other posts on Meeting C++ are enabled by my supporters on patreon!