Comment Re:Rust is a specialist language (Score 1) 166
Much of what you say is equally true for other modern languages with strong static typing and automatic memory management. They also provide a lot of safety guarantees. The difference is that they do it by putting everything on the heap and relying on a garbage collector to manage it.
Rust tries to keep memory on the stack whenever possible. That's a lot faster. Allocating and freeing memory are effectively free, there's less indirection for accessing it, and it tends to be more compact which helps cache efficiency. But it all goes away as soon as the stack frame exits, requiring a whole sub-language for managing lifetimes and borrowing.
I agree that concurrency in Rust is awesome. No other language I've used catches as many threading errors at compile time.
After a while you barely even notice the borrow checker is there, only on the occasion when you make a mistake
That... has not been my experience. How often do you have to resort to a RefCell because, even though you know perfectly well that your mutable reference will only modify one field of an object that the immutable reference never looks at, the borrow checker isn't smart enough to figure that out?