C++ Developer: Watching C++26 Talks While C++20 Modules Still Broken
Description
A two-panel 'crying man' meme showing escalating sadness. Top panel: A man with tears in his eyes, with text 'watching many 1-hour conference videos discussing C++26 features'. Bottom panel: The same man now crying more intensely with eyes closed, with text 'wanting C++20 modules implemented in 2026'. A 'made with mematic' watermark appears in the bottom right. The meme captures the painful reality of the C++ standards process - the community eagerly discusses and watches hour-long CppCon/Meeting C++ talks about upcoming C++26 features while C++20 modules (ratified in 2020) still have incomplete compiler support years later. The gap between standard ratification and actual usable implementation is a persistent source of frustration in the C++ ecosystem
Comments
35Comment deleted
C++ modules: ratified in 2020, partially supported by 2024, and by the time they fully work, C++29 will have deprecated them
Still using, like, 14 at best at work: Comment deleted
Grateful to not be using c++ at all. Comment deleted
Is reflection a thing or not still? Comment deleted
Not that I know of, but that is common for languages compiled to machine code Comment deleted
No, C++ has several compile-time reflection proposals, some of them implemented in minor compilers like cppfront. Zig and Rust, the other two popular languages compiled to machine code, both have compile-time reflection fron the start. Its lack is better attributed to old languages, which were designed back when compile-time operations were a luxury Comment deleted
compile time reflection is one aspect, but the more interesting one is runtime reflection Comment deleted
it's possible to implement it yourself though. but at cost of performance. Comment deleted
agree, but still not a native language feature like in .net, jvm, js, go or more Comment deleted
well. it's kind of impossible without doing it the same way as in those languages. it's a native code Comment deleted
that's nonsense Comment deleted
well, having IL makes reflection much cheaper to implement, but its not a requirement typeid existed in C++ for a while Comment deleted
Good point. But still, runtime reflection is rare in languages compiling native Comment deleted
yes, the proposal got accepted, and both compilers are working on support Comment deleted
both compilers? There are a ton of relevant compilers, sadly Comment deleted
no, just gcc and clang Comment deleted
nope, msvc is very important, same for embaccardero (or how they are called) and the intel compiler aswell Comment deleted
clang nowadays Comment deleted
oh at least something Comment deleted
not a thing Comment deleted
yeah they are surprisingly successful Comment deleted
no I mean there's nothing in the way of C++ support from over there anymore Comment deleted
You sure? They still release new version or did I miss them going oob? Comment deleted
Or did they switch compiler? Comment deleted
as far as I can see, they don't make any efforts at all in terms of support for new standards Comment deleted
I may be wrong, though Comment deleted
Ah that is what you mean, yeah that could be true. A shame, their ide used to be very good back in the mid 2010s Comment deleted
And their ui framework is, for windows, way more comfortable than win32 or mfc Comment deleted
As far as IDEs go, clang is basically the only game in town now Comment deleted
(there's actually also whatever jb does, that's not clang) Comment deleted
Jetbrains clion does use clangd, clang tidy etc Comment deleted
yes but they also have their own compiler now for analysis purposes Comment deleted
Ah really, they have their own analysis but usually combine them with standard tools. Same in go and rust Comment deleted
You probably meant the change with clion nova Comment deleted
yeah that, and that got merged into clion proper some time ago Comment deleted