<p>Why is it that they decided to make <code>String</code> immutable in Java and .NET (and some other languages)? Why didn't they make it mutable?</p>

It's largely for security reasons.  It's much harder to secure a system if you can't trust that your
```
String
```
s are tamperproof.