Scala dostarcza niezmiennych kolekcji, takich jak Set
, List
, Map
. Rozumiem, że niezmienność ma zalety w równoległych programach. Jakie są jednak zalety niezmienności w regularnym przetwarzaniu danych?Jakie są rzeczywiste zalety niezmiennych kolekcji?
Co się stanie, jeśli wymienię na przykład subsets
, permutations
i combinations
? Czy niezmienne zbiory mają tutaj jakąkolwiek przewagę?
Mniej stan = mniej analizy. –
Co umożliwia narzędziom (tj. Kompilatorom) wykonywanie większej liczby optymalizacji – michid
Zgadzam się, a to oznacza, że używanie niezmiennych obiektów tworzy kod, który jest częściej poprawny po raz pierwszy. Wraz z pisaniem statycznym powoduje to, że kod Scala wymaga zadziwiająco małego debugowania. –