4 ms·
> 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, st
by jcelerier 7y 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%2B11
https://en.wikipedia.org/wiki/C%2B%2B14 https://en.wikipedia.org/wiki/C%2B%2B14
https://en.wikipedia.org/wiki/C%2B%2B17 https://en.wikipedia.org/wiki/C%2B%2B17
https://en.wikipedia.org/wiki/C%2B%2B20 https://en.wikipedia.org/wiki/C%2B%2B20
)
- imron 7y ago> 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?
- jcelerier 7y agothose 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
- pjmlp 7y agoBecause 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.