title: Why did Matz choose to make Strings mutable by default in Ruby?
body: <p>It's the reverse of this question: <a href="https://stackoverflow.com/questions/93091/why-cant-strings-be-mutable-in-java-and-net">Why can&#39;t strings be mutable in Java and .NET?</a></p>
  
  <p>Was this choice made in Ruby only because operations (appends and such) are efficient on mutable strings, or was there some other reason?</p>
  
  <p>(If it's only efficiency, that would seem peculiar, since the design of Ruby seems otherwise to not put a high premium on faciliating efficient implementation.)</p>