Mutating and Borrowing
A lot of problems in software come about from things changing when you don’t expect them to. That’s why Rust defaults to having immutable variables; it’s easier to think about things when they can’t change. This is a pretty big deal in Rust. It means that if I have an immutable value, and I print it twice, I know it will give me the same value. This applies to immutable references too.