Состояние, которое мы обрабатываем, — неизменяемо.
Беда в том, что это "состояние" - неизвестно в общем случае. Т.е. если вам надо посчитать 2+2, то ещё куда ни шло, а если надо дело иметь с реальным миром, то оказывается, что у арабов 2 не такое, у евреев + не такой, а у турков по четвергам после полудня надо добавлять к сумме 0.725. И это всё - часть вашего состояния. Таскать по всему коду набор знаний "а не в Турции ли мы? А сколько сейчас времени?" и т.п. explicitly - это путь к психушке. А implicitly - получается global mutable state.
И непонятно, чем тут особенно elders с матаном помогают.
no subject
Date: 2016-08-05 08:17 pm (UTC)Беда в том, что это "состояние" - неизвестно в общем случае. Т.е. если вам надо посчитать 2+2, то ещё куда ни шло, а если надо дело иметь с реальным миром, то оказывается, что у арабов 2 не такое, у евреев + не такой, а у турков по четвергам после полудня надо добавлять к сумме 0.725. И это всё - часть вашего состояния. Таскать по всему коду набор знаний "а не в Турции ли мы? А сколько сейчас времени?" и т.п. explicitly - это путь к психушке. А implicitly - получается global mutable state.
И непонятно, чем тут особенно elders с матаном помогают.