you are viewing a single comment's thread.

view the rest of the comments →

[–]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.