Hacker News new | ask | show | jobs
by amelius 1467 days ago
The entire way of coding in Rust revolves around satisfying the borrow checker. At some point it may become second nature, but you are still jumping through Rust's hoops, which will make your code full of compromises that would otherwise not exist.
2 comments

>you are still jumping through Rust's hoops, which will make your code full of compromises that would otherwise not exist.

The same can be said in reverse. There are many, many C and C++ codebases that make design compromises and copy data unnecessarily so as not to be utterly hellish to maintain. People meme about "fearless concurrency" but it's true, with Rust you don't need KGB levels of paranoia and attentiveness to write parallel or reference-heavy code. I can write code in Rust I would never be comfortable writing in C/C++ because the language gives me the confidence to not compromise in those areas.

So does the entire way of coding in any static-typed language, your code is full of compromises that would otherwise not exist in a dynamic-type language. Rust is just another layer of static typing.
Yes. It's another level of the same problem.

Rust is like a piano where certain keys have been removed so you never play out of key.

You can pretty much make this same argument about any language higher-level than C.
maybe assembly. Even C can be applied to their argument just fine.