News for hackers. Stuff that matters.
Re:How SerenityOS Declares Ssize_t by roger10-4 on Tuesday April 04, 2023 @07:15AM (#35437833)
I wouldn’t call meta- and compile-time programming limited in modern C++ (C++17 and above).

With the addition of “constexpr” and “consteval” compile time programming is the same as runtime for many cases. Templates are obtuse for meta programming but usually can get the job done.

The need for macros much less common in modern code.

Re:How SerenityOS Declares Ssize_t by williamvds on Tuesday April 04, 2023 @07:23AM (#35437911)
You can mostly avoid macros now, thankfully. I'm particularly thinking of things like compile-time reflection, some more complex type introspection. Things that would let you get rid of some code generation like D's mixins perhaps.

Existing c++ reflection has mostly been done with macros, which you sacrifice readability for by declaring your class with macros instead, and I believe is often a runtime thing anyway. Complex type metaprogramming is possible, sure, but often so obtuse and illegible I'd dare say the preprocessor is a better alternative if it works.