> These days when I see a modern C++ codebase using "auto" all over the place, lambdas, the new constructor/initializer syntax, std::move and more, it can be very tricky for me to understand what some code is doing.
But what if you had spent 1/10th of the time you spent learning Rust looking at these features (frankly looking at the wikipedia pages for each revision is enough most of the time I think :
> But what if you had spent 1/10th of the time you spent learning Rust looking at these features
You can write object-oriented code in C too (e.g. gtk, glib etc). It just involves much more boilerplate, and it doesn't offer the same amount of built-in safety guarantees.
So I know enough Modern C++ to use it, but why would I when there are far better alternatives?
Because those alternatives, while better at syntax + semantics part, are still quite immature at IDE + libraries + eco-system part.
For example, try to use Rust to implement a UWP component callable from .NET, interacting with the Visual Layer, while using mixed mode language debugging inside Visual Studio.
You can write object-oriented code in C too (e.g. gtk, glib etc). It just involves much more boilerplate, and it doesn't offer the same amount of built-in safety guarantees.
So I know enough Modern C++ to use it, but why would I when there are far better alternatives?