Follow

@hackernews@die-partei.social

Date Event
7 February ISO C++ Committee meeting Zoom plenary
15 February Visual Studio 2022 17.1
25 March Clang14.0
6 April ACCU, till 9th April
13 April 2022 Boost 1.79: Major release now available
2 May Val Announced at Cpp Now
6 May GCC 12.1
10 May MSVC’s STL Completes /std:c++20 (for the second time :)
22 July Carbon announced at C++North
25 July ISO C++ Committee meeting Zoom plenary, C++23 is frozen now
9 August Visual Studio 2022 17.3
19 August GCC 12.2
6 September Clang 15.0
11 September CppCon, till 16th Sept
16 September CppFront announced at CppCon
7 November ISO C++ Committee meeting - Kona Hybrid, till 12th Nov
8 November Visual Studio 2022 17.4
16 November Meeting C++, till 19th Nov
30 November 2022 Chat GTP Announced
14 December Boost 1.81: Major release now available
22 December libstdc++: Implement C++20 time zone support in <chrono>
........
Compiler missing features/notes
GCC 11 Only Modules are in the “partial” state
Clang 14/16 Modules in partial, coroutines in partial, CTAD improvements missing
MSVC 16.9 Full support!
........
Feature GCC Clang MSVC
Make () more optional for lambdas 11.0 13.0 x
if consteval 12.0 14.0 x
Deducing this x x VS 2022 17.2 (partial)
Multidimensional subscript operator 12.0 x x
and 12.0 13.0 x
static operator() 13.0 16.0 x
static operator[] 13.0 16.0 x
Support for UTF-8 as a portable source file encoding 13.0 15.0 VS 2015
.......
Feature GCC Clang MSVC
Stacktrace library x x x
std::is_scoped_enum 11.0 12.0 VS 2022 17.0
contains() for strings and string views 11.0 12.0 VS 2022 17.0
constexpr for std::optional and std::variant 12.0 13.0 VS 2022 17.1
std::out_ptr(), std::inout_ptr() x x VS 2022 17.0
ranges::starts_with() and ranges::ends_with() x x VS 2022 17.1
DR: std::format() improvements 13.0 16.0 VS 2022 17.2
ranges zip 13.0 15.0 VS 2022 17.3
Monadic operations for std::optional 12.0 14.0 VS 2022 17.2
<expected> 12.0 16.0 VS 2022 17.3
ranges::to x x VS 2022 17.4
Pipe support for user-defined range adaptors x x VS 2022 17.4
ranges::iota(), ranges::shift_*() x x VS 2022 17.4
views::join_with 13.0 x VS 2022 17.4
views::chunk_* and views::slide 13.0 x VS 2022 17.3
views::chunk_by 13.0 x VS 2022 17.3
<flat_map>, <flat_set> x x x
Formatted output library <print> x x x
Formatting ranges x x x
constexpr for integral overloads of std::to_chars() and std::from_chars() 13.0 16.0 VS 2022 17.4
Standard Library Modules x x VS 2022 17.5*
Monadic operations for std::expected x x x
.........
Compilers Used

What compiler do you use?
Answer 2022 2021 2020 2019
GCC 70.9% 76% 70.3% 75.6%
Clang 46.1% 51.8% 49.6% 58.7%
MSVC 54.7% 54.1% 58.5% 56.3%
Intel Compiler 2.5% 2.3% 2.8% 3.1%
C++ Builder 1.1% 2.2% 3% 1.2%

(The numbers for the above do not sum to 100%)
What IDE do you use for C++ projects
Answer 2022 2021
Visual Studio 48.2% 48.8%
Visual Studio Code 49.3% 47.1%
CLion 19.3% 18.5%
C++ Builder IDE 1.5% 2%
Eclipse 6.2% 5.8%
Vim/Emacs 24% 26.9%
QT Creator 14.6% 15.7%
Notepad++ 9.1% 7.4%
XCode 6.8% 6.1%
What additional tools do you use?
Answer 2022 2021 2020 2019
Debugger 74.3% 80.8% 77% 83.6%
Sanitizers 36.8% 38.9% 31.9% 40.4%
Static Code Analysis 57.2% 58.7% 60.9% 55.7%
Profilers 43% 49.1% 53.4% 56.8%
Clang Format 45% 49.4% 43.3% 49.3%
CMake 64.9% 67.3% 62.3% 66%
Package Managers 25.3% 26.2% 23.2% 21.4%
.......
Summary
....
C++ is at a crossroads today: on one side, it’s in really good shape, with lots of new features, compiler support, and cool tools (even better-debugging performance!). But at the same time, many experts struggle to make language inherently safer and fix some long-standing issues ( breaking ABI discussion). That’s why some experts try to start from something fresh and improve C++ by creating a new competition. Those new languages directly compile to C++ (as CppFront), or have robust interoperability with C++ (like Carbon). So maybe in the future, you’ll be writing in a super safe C++2 language and still have some legacy files in good old modern C++ in the same projects. I hope “friendly competition” will push C++ to new directories and get us better features and safer code.

What’s more ChatGPT merges, so who know if we’ll still be coding next year :)

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.