Mi piace il concetto di immutabilità, ma a volte mi chiedo, quando un'applicazione non intende essere parallela, si dovrebbe evitare di rendere le cose immutabili?L'immutabilità è utile su applicazioni non parallele?
Quando un'applicazione non è multi-thread, non si è afflitti da problemi di stato condivisi, giusto?
O è immutabilità un concetto come OOP che usi o no? Escludere i casi in cui qualcosa non dovrebbe essere immutabile in base all'utilizzo/alle prestazioni, ecc.
Sono di fronte a questa domanda quando scrivo un'applicazione per me, che è moderatamente grande (forse come le linee 1-2k).
Lo stato immutabile è utile per le applicazioni con multithreading perché è più facile ragionare sulla correttezza dello stato immutabile in scenari multithread. Ma è anche più facile ragionare sulla correttezza dello stato immutabile in scenari a thread singolo! È semplicemente più facile ragionare su cose che non cambiano di quanto non sia per ragionare su cose che cambiano. –
@Eric: lol. . –