Функциональное программирование

Jul 07, 2020 16:42

А оно живо, кстати? Лет десять-пятнадцать оно обещало все порвать, и куда-то тихо сгинуло. Дезайнпаттерны остались, а хаскель да окамль куда-то пропали. Кто-то в курсе?

Leave a comment

mikkim08 July 7 2020, 14:18:41 UTC
Живо, конечно. У нас на Скале много кто функционально пишет.
А не слышно, потому что оно стало достаточно массовым.
Сейчас уже глупо писать очередное "руководство по применению монады в народном хозяйстве".
Все всё и так знают.

Reply

plumqqz July 7 2020, 14:33:43 UTC
и как применяются монады в народном хозяйстве?

Reply

mikkim08 July 7 2020, 15:00:49 UTC
Применяются для моделирования т.н. "эффектов" (например, отсутствующие значения, исключения, асинхронное выполнение задач). Мне нравится. Но вот сейчас у нас прямо непосредственно в эксплуатацию потащили zio (см. гугл). Тут мне немного тревожно.

Reply

plumqqz July 7 2020, 18:36:57 UTC
Жабий Optional - очень странное изобретение, тем более в жабе, а отказываться от удобных исключений ради неудобных тех же Optional - это какая-то автофлагелляция.
Собственно, те же Optional вне стандартной жабьей библиотеки как-то не попадались, да и в ней они только в одном месте, что наводит на мысли.

Reply

mikkim08 July 7 2020, 19:48:19 UTC
Я не знаком с Optional и имел ввиду скальный Option (или хаскельный Maybe).
Вместо исключений используется не Option, а Try или Either.
Боюсь, что удобство Option или Try/Either это во многом дело вкуса и привычки.
Мне лично удобно, но коротко и внятно объяснить почему я сейчас не возьмусь.

Reply

plumqqz July 7 2020, 19:56:22 UTC
Ну судя по документации в жабе примерно то же самое.
Да, это неудобно.

Reply

mikkim08 July 7 2020, 20:02:05 UTC
Я и говорю: вкусовщина :))

Reply

plumqqz July 7 2020, 20:34:56 UTC
Ну может быть :-)

Reply

anonim_legion July 8 2020, 13:33:29 UTC
В жабе не может быть то же самое, хотя бы потому что стандартная библиотека жабы обязана быть совместимой с былыми временами. Разумеется, там это неудобно - раньше-то надо было проверять на null, а теперь на null и Option.None, и даже на Option.Value, в котором всё равно null.

Reply

plumqqz July 8 2020, 13:43:15 UTC
Ну не то же самое, конечно, но по мотивам. Восторгов у ширнармасс это тем не менее все равно не вызвало.

Reply


Leave a comment

Up