4 ms·
> Plus, there's a great desire to go for an utopian future cleaning up all that's wrong with current tech. This [...] is the case with Rust [...]. Starting over
by Perseids 6y ago
> Plus, there's a great desire to go for an utopian future cleaning up all that's wrong with current tech. This [...] is the case with Rust [...]. Starting over is easier and more fun than fixing your shit.
The domain I'm working in might be non-representative, but for me fixing my shit systematically means switching from C++ to Rust. The problems the borrow checker addresses come up all time either in the form of security bugs (because humans are not good enough for manual memory management without a lot of help) or in the form of bad performance (because of reference counting or superfluous copies to avoid manual memory management).
But otherwise I agree with you that if we never put in the effort to polish our current tools, we'll only ever get the next 80%-ready solution out of the hype train.
- jason0597 6y agoHave you tried modern C++ before switching to rust? Or were you already using it and it didn't provide all the necessary features?
- waheoo 6y agoDoes it have a borrow checker?
- pjmlp 6y agoIn the form of static analysis, lifetime checker.
- waheoo 6y agoSo no?
- pjmlp 6y agoDepends, not on the language, that is correct. However I always have static analysers enabled on my builds, so it is almost as if they were part of the language. Regardless if we are talking about Java, C# or C++. Just like most people that are serious about Rust have clippy always enabled, yet it does stuff that ins't part of Rust language spec.
- pjmlp 6y agoI am all for modern C++, and although I like Rust, C++ is more useful for my line of work. However, it doesn't matter how much modern we make C++, if you don't fully control your codebase, there is always going to exist that code snippet written in C style.