3 ms·
> "If borrow checker rejects your code, it was wrongly structured anyway" Nobody is claiming that? At least not in this thread. I think your confusion stems f
by fluffything 6y ago
> "If borrow checker rejects your code, it was wrongly structured anyway"
Nobody is claiming that? At least not in this thread.
I think your confusion stems for thinking that "Rust == borrow checker". The borrow checker is a tiny part of Rust.
> The mental overhead of rust
I find the mental overhead of Rust to be smaller than that of Python, Go, Java, Haskell, C, C++, Lisp, and pretty much any other language that I've ever used.
In Rust I don't have to think about multi-threading, data-races, memory management, resource acquisition and release... the compiler does the thinking for me. I also can refactor and reshuffle code at will, and trust the compiler to catch all errors.
Changing a type that pretty much every translation uses in a 500k LOC code base and add multi-threading to it? No problem, just try it out, and if it compiles, it is correct.
I can't say the same of Go, Python, Java, etc. where threading errors are impossible to debug. And well, it wouldn't even be worth trying. It would be impossible to make sure that the code is correct, even after fuzzing for weeks.