Scrivo regolarmente classi che possono avere solo istanze immutabili, proprio come una stringa.
Mi chiedo perché Java o C # o VB.NET non abbiano immutabilità integrata nella lingua? In questo modo, posso comunicare meglio l'immutabilità ai miei colleghi programmatori e anche fare supposizioni sullo stato in classe.
Ad esempio: classe immutabile Foo { stringa pubblica Nome {get; impostato; } // errore di compilazione: proprietà mutabile sulla classe immutabile }