3 ms·
Rust has nothing on template meta programming and the type signatures you get there, though
by whimsicalism 2y ago
Rust has nothing on template meta programming and the type signatures you get there, though
- nickitolas 2y agoNot to mention the error messages when you get something slightly wrong
- crest 2y agoGive the proc macro fans a little more time...
- jerf 2y agoI understand the point you are making, but C++ templates really are a uniquely disastrous programming model. They can be used to pull off neat tricks, but the way those neat tricks are done is terrible.
- duped 2y agoWhen a proc macro fails you get an error at the site where the macro is used, and a stack trace into the proc macro crate. You can even use tools to expand the proc macro to see what went wrong (although those aren't built in, yet). Debugging a proc macro failure is miles and above easier than debugging template errors.
- consteval 2y agoThis isn't really true since concepts were introduced. Granted, you have to use them, but it makes the debugging/error messages MUCH better.
- jimbob45 2y agoI’ve spent a fair amount of time writing C++ but F12’ing any of the std data structures makes me feel like I’ve never seen C++ before in my life.
- NekkoDroid 2y agoto be fair, a major cause of the pain of looking at the std is because of the naming and being semi-required to use reserved names for implementation details (either double underscore or starting underscore uppercase) and also for keeping backwards compat for older standard versions.