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

Jul 07, 2020 16:42

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

Leave a comment

Comments 91

slach July 7 2020, 13:53:09 UTC
ну оно всплывает то тут, то там, и в целом более или менее успешно живет наверное только в erlang ;) и в rust частями
на хаскеле время от времени всплывают какие то поделки, вот selectel на haskell что-то такое писал для инфраструктуры своей

но в целом относительно какого нибудь TypeScript \ JS это все так, "незначительное влияние"

Reply


anonim_legion July 7 2020, 13:58:20 UTC
В проектах на Scala оно живо, да ещё как. И на хаскеле уже в прод пишут.

Reply

plumqqz July 7 2020, 14:09:58 UTC
ну скала не сказать чтобы широко распространенное явление, да и больше похоже на груви и прочий котлин, с которыми вопрос простой - это все очень мило, но почему бы не взять просто жабу?
хотя, если отнести скалу к функциональным языкам, то да, можно сказать, как-то выжило, вы правы.

Reply

avnik July 7 2020, 17:19:10 UTC
ну вот если смотреть на скалу как ОО язык, то она выглядит как жаба здорового человека супротив жабы курильщика. Я правда с скалой сталкивался только когда копался вокруг kafka и около

Reply

plumqqz July 7 2020, 18:34:30 UTC
По-моему она выглядит как жаба курильщика мариуханы супортив жабы просто курильщика. Впрочем, дело вкуса.

Reply


veremeenko_alex July 7 2020, 14:12:39 UTC
Ну многие языки просто всосали в себя функциональщину, С# включает в себя просто разделами.
Смысла использовать отдельный язык все меньше и меньше.

Reply

plumqqz July 7 2020, 14:32:18 UTC
а что такого функционального в с#?

Reply

ifp5 July 7 2020, 14:38:13 UTC
Лямбды, LINQ. Может еще что, но я не так чтобы сильно знаток, я на нем только API пишу к C++ и местами тесты

Reply

plumqqz July 7 2020, 18:34:53 UTC
Лямбды были бог знает когда еще в клиппере.

Reply


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


norguhtar July 7 2020, 14:21:08 UTC
Чистые функциональные языки уехали туда откуда выезжали, зато заехала куча вещей из них в другие языки. Лямбду и анонимные функции, map reduce и т.п. затащили практически все

Reply

plumqqz July 7 2020, 14:31:29 UTC
это все ещё в клиппере было, это как бы не новость

Reply

norguhtar July 7 2020, 14:32:54 UTC
ну дак NoSQL бд еще до SQL бд появились. Что не помешало хайповать. У меня вообще ощущение что эпизодически в ИТ переизобретают то что уже было в 60-х.

Reply

plumqqz July 7 2020, 14:36:17 UTC
протестую! от анонимных функций есть польза!

Reply


Leave a comment

Up