4 ms·
> So I don’t know which good parts of C++ they kept. comptime is a better version of C++ templates.
by naasking 2y ago
> So I don’t know which good parts of C++ they kept.
comptime is a better version of C++ templates.
- jandrewrogers 2y agoI really wish that were true but it isn’t. Modern C++ templates/constexpr are much more powerful and expressive than any Zig comptime equivalent. The power and expressiveness of the C++ compile-time capabilities are the one thing I strongly miss when using other languages. The amount of safety and conciseness those features enable makes not having them feel like a giant step backward. Honestly, if another systems language had something of similar capability I’d consider switching.
- bcrosby95 2y agoIf it looks anything like what I read in "Modern C++ Design" 20+ years ago then I'll pass. That book made me realize the language wasn't for me anymore.
- jandrewrogers 2y agoIt looks nothing like C++ decades ago, it is effectively a completely different language. I found C++ unusable before C++11, and even C++11 feels archaic these days. Idiomatic C++20 and later is almost a decent language.
- bcrosby95 2y ago"Modern C++ Design" was the first book that highlighted template metaprogramming and showed you ways to use it as a Turing complete programming language in itself. Even a decade+ after it was printed my friend said it was recommended reading for employees within Google so I gave him mine - but I'm not sure about these days. Talking about how much you can do with C++ templates made me think of that.
- asyx 2y agoIt’s not like that anymore.
- koe123 2y agoI have written a lot of Zig comptime code and ended up finding the opposite. In C++ I find I have to bend over backward to get what I want done, often resulting in insane compile times. I've used metaprogramming libraries like Boost Hana before to have some more ergonomics, but even that I would consider inferior to comptime. Out of curiosity, do you happen to have any examples of what you describe, where C++ is more powerful and expressive than Zig?