Se objetos imutáveis¹ forem bons, simples e oferecerem benefícios em programação simultânea, por que os programadores continuam criando objetos mutáveis²?
Tenho quatro anos de experiência em programação Java e, do meu ponto de vista, a primeira coisa que as pessoas fazem depois de criar uma classe é gerar getters e setters no IDE (tornando-a mutável). Existe uma falta de consciência ou podemos usar objetos mutáveis na maioria dos cenários?
¹ Objeto imutável é um objeto cujo estado não pode ser modificado depois de criado.
² Objeto mutável é um objeto que pode ser modificado depois de criado.