Re[22]: Мнение: объектно-ориентированное программирование —
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.09.19 09:25
Оценка: +1
Здравствуйте, Somescout, Вы писали:

MH>>Хотя с точки зрения строителей компиляторов/ран-таймов чистый функционализм (без мутабельности и присваиваний) конечно хорошо, так как позволяет делать много крутых оптимизаций.


S>Например? Вроде единственное что позволяет делать иммутабельность — это раскидывать исполнение по потокам не боясь побочных эффектов.


Иммутабельность дает возможность реализовать совершенно другую модель вычислений. Например, в какой то момент обнаруживается, что проведенные изменения фейлятся на самом позднем этапе. В мутабельной модели нужно писать upfront все возможные валидации и тд и тд или делать глубокие откаты, что не всегда возможно. В иммутабельной присваивание делается ровно один раз в конце или не делается вовсе.
То есть, фактически это честные транзакции.

Другой пример — обнаружение изменений. Запилить на коленке мутабельную модель с трекингом изменений дело мягко говоря для упоротых трудоголиков с гигантским экспириенсом, квалификацией как у бога и наличием хорошего бюджета и запаса времени.
С иммутабельной моделью всё гораздо проще. Но за это надо заплатить — памяти может потребоваться намного больше.

Еще одна вещь — всевозможные вычисления, во время которых у тебя есть гарантия, что неосторожным присваиванием ты не подломаешь разделяемый объект.

Оптимизации производительности растут из этих же свойств, например, кеширование.
Отредактировано 25.09.2019 10:43 Pauel . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.