Hacker News new | ask | show | jobs
by jcelerier 2347 days ago
> Now I'm a big fan of Rust.

> 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 :

https://en.wikipedia.org/wiki/C%2B%2B11

https://en.wikipedia.org/wiki/C%2B%2B14

https://en.wikipedia.org/wiki/C%2B%2B17

https://en.wikipedia.org/wiki/C%2B%2B20

)

1 comments

> 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.

those alternatives don't always offer what C++ has - for instance template<int I> is damn useful in many cases and not many languages have that