Hacker News new | ask | show | jobs
by Jyaif 941 days ago
In C++ discipline is optional. In Rust it's mandatory.
3 comments

I think this is amusing because both directions completely work:

In C++, you can do whatever. Rust forces you do to some things. No discipline required by C++, absolutely required by Rust.

In C++, you can do whatever. Rust forces you to do some things. This means you must have discipline in C++, or you will do bad things. But in Rust, you can do whatever you want, the compiler has your back.

Good point, I was imprecise.

I should have said that no discipline is required in C++ to obtain a binary.

In C++ crashing with a helpful error is rare. In Rust it's rare not to get a helpful error.
I completely disagree; discipline is only optional in C++ if you want to ship broken code. Even the top poster in this thread that actually cops to the productivity overhead of C++ admits (albeit obliquely) they still make memory errors