I've been an avid C++ user for ages and this is the first time I've seen the final spec of C++26 reflections used in a practical context - and wow am I having a "wtf" moment at the syntax.
^^T ?? obj.[:member:] ?? What is this craziness? No way this is the best we could come up with. I'm actually thinking C++ may be going too far (and this is as someone who thinks template metaprogramming is "fine").
Never before has that quote "inside C++ is a smaller, better language trying to get out" been more applicable.
pjmlp 8 hours ago [-]
While I agree it has a certain Perl feeling and I used to advocate for functions/operators, e.g. reflex or similar, it still feels better than unicode operators in FP languages or the two macro systems used by Rust.
At least being based on compile time execution infrastructure means you can debug it on IDEs, Clion already has some work into that direction.
> NOTE: THIS HAS BEEN WRITTEN AGAINST A VERY EARLY REVISION OF P2996. MANY THINGS HAVE CHANGED SINCE, AND EVERYTHING ON THIS PAGE NEED TO BE RE-EVALUATED BASED ON WHAT EFFECTIVELY LANDED IN C++26!
kvemkon 20 hours ago [-]
Taken from bookmarks, haven't noticed this before. Looking forward for the article update.
themafia 21 hours ago [-]
It this even a language for human beings anymore? Or am I just short on cups of coffee this morning?
I appreciate that they're solving a lot of corner cases and adding some advanced functionality in the spec but now we've got language text that looks quite a bit like perl. I wonder if it will acquire some of the same properties.
pjmlp 8 hours ago [-]
Until something else takes over the domains where C++ rules, it is what we have, even the crustacean compiler is built on top of C++ infrastructure (LLVM/GCC).
funkychicken 14 hours ago [-]
Most users would not need to use it. But it is invaluable for library/framework authors (like qt).
Rendered at 17:18:25 GMT+0000 (Coordinated Universal Time) with Vercel.
^^T ?? obj.[:member:] ?? What is this craziness? No way this is the best we could come up with. I'm actually thinking C++ may be going too far (and this is as someone who thinks template metaprogramming is "fine").
Never before has that quote "inside C++ is a smaller, better language trying to get out" been more applicable.
At least being based on compile time execution infrastructure means you can debug it on IDEs, Clion already has some work into that direction.
https://blog.jetbrains.com/clion/2025/09/introducing-constex...
> Reflection in C++26 might be insufficient for replacing moc.
https://wiki.qt.io/C++_reflection_(P2996)_and_moc
I appreciate that they're solving a lot of corner cases and adding some advanced functionality in the spec but now we've got language text that looks quite a bit like perl. I wonder if it will acquire some of the same properties.