this post was submitted on 12 Feb 2026
64 points (100.0% liked)
Learn Programming
2087 readers
24 users here now
Posting Etiquette
-
Ask the main part of your question in the title. This should be concise but informative.
-
Provide everything up front. Don't make people fish for more details in the comments. Provide background information and examples.
-
Be present for follow up questions. Don't ask for help and run away. Stick around to answer questions and provide more details.
-
Ask about the problem you're trying to solve. Don't focus too much on debugging your exact solution, as you may be going down the wrong path. Include as much information as you can about what you ultimately are trying to achieve. See more on this here: https://xyproblem.info/
Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This is probably an unpopular opinion, but I find modern C++ with templates and
constexprto be quite fun, mainly from the perspective of trying to do as much at compile-time as possible. Most of the resulting code is nearly incomprehensible and never gets used for anything outside of a godbolt demo, but trying to do complex tasks within the limited and unintuitive world of compile-time evaluation is something I've never really been able to find in any other language.~~i don't want to hear about rust, const generics are almost useless and you know it, specialization isn't really a thing and nothing like variadic templates exists yet~~
What is your honest opinion about Rust? I'm curious
Rust has a lot of cool ideas (I love the borrow checker), but in its current state I don't think it can replace C++ for the things I'd be interested in using it for. 99% of the time when I reach for a natively compiled language it's because I need to do some performance-critical loop I can't reasonably implement in the language my business logic is written in (normally Java), and I end up in a situation where most of Rust's advantages (and C++'s footguns) aren't really relevant (lifetimes don't matter if I'm just writing some SIMD code which reads/writes into externally allocated memory segments). So for my purposes, Rust is mostly just a worse version of C++ in that it's missing a bunch of features I want (my main gripes already listed above) and has a bunch of cool features that I don't care about.
If I were writing an entire program from scratch I'd probably opt for Rust over C++, at least for the bulk of the business logic, but I don't think Rust has quite achieved its ideal of "zero-cost abstraction" for many performance-critical use cases, and certainly not most of the ones I actually have.
You should check out Zig's macro system, I think you'll find it really interesting.