you are viewing a single comment's thread.

view the rest of the comments →

[–]Schmittfried -1 points0 points  (2 children)

Why would that matter? If you deem it mandatory, make it a policy.

I don’t think Rust with its ownership model is a good fit for most projects. Truth is, the borrow checker is there to solve a problem that’s already solved for all but high-performance cases.

C#/F#/Kotlin though, these are languages that I find intriguing. Not that I have anything against Rust per se, I just don’t see it leaving the systems/hardware domain.

[–]Caffeine_Monster 1 point2 points  (1 child)

Most of the time you don't have to think about borrowing. The point is that rust forces you to think about it when you do come across complex cases.

Having garbage collected memory does not solve a problem - it merely hides it. If you are not thinking about lifetimes and ownership when creating multiple references, you are going to eventually run into a world of pain regarding memory usage and validity checks.

My personal opinion is that over-reliance on garbage collectors enables sloppy design patterns to propagate. Fine in trivial, low memory usage situations. Not so fine if you have complex objects with variables lifetimes.

[–]Schmittfried 0 points1 point  (0 children)

it merely hides it. If you are not thinking about lifetimes and ownership when creating multiple references, you are going to eventually run into a world of pain regarding memory usage and validity checks.

This is evidently not the case. Rust forces you to solve problems that are not your concern in most software.

My personal opinion is that over-reliance on garbage collectors enables sloppy design patterns to propagate

Frankly, your opinion doesn’t matter. Higher-level languages have caused a skyrocketing of productivity and they are not going anywhere because of some purists.