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

Jul 07, 2020 16:42

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

Leave a comment

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

_slw July 7 2020, 18:45:42 UTC
а были ли лямбды в алголе-68?

Reply

plumqqz July 7 2020, 18:50:23 UTC
Там вроде как были процедурные переменные и их можно было передавать как параметр. Не знаю, правда, получались ли при этом замыкания.

Reply

plumqqz July 7 2020, 18:59:14 UTC
linq посмотрел - забавно, чем-то напоминает жабий JOOQ и Criteria.
Если с первым люди встречались, то со вторым - не то, что не видел, а даже и не слышал.
Но, в общем, не очень понятно, зачем он так уж нужен.

Reply

mfonin July 7 2020, 19:17:33 UTC
Он нужен, чтобы писать sql-подобные запросы по коллекциям прямо в коде.
Например когда есть несколько массивов/словарей/списков, и из них надо сделать сложную выборку с фильтрами, группировкой, сортировкой (правда без оконных функций).
Словом полная аналогия 10-этажного SQL-запроса.

Это достаточно удобно, хотя трассировать это не фонтан, а уж с непривычки понять даже свой код спустя пару месяцев... бррр.

Reply

plumqqz July 7 2020, 19:21:12 UTC
Ну может быть, может быть.

Reply

metaclass July 7 2020, 19:22:23 UTC
Строго типизированная генерация SQL запросов. Или исполнение этих же запросов поверх локальных данных.

Reply

plumqqz July 7 2020, 19:23:07 UTC
Строго типизированная генерация SQL запросов.
Но зачем?!

Reply

anonim_legion July 8 2020, 13:31:27 UTC
Когда человек пишет код в изменённом состоянии сознания, то есть почти всегда, ему желательно иметь поддержку от компилятора, чтобы не понаписать фигни, и не перепутать loanId с orderId, потому что они оба int.

Reply

plumqqz July 8 2020, 13:39:06 UTC
В перестройку пытались применять передовые технологии - сварка взрывом и сборка трезвым. Вижу, не прижилось.

Reply

anonim_legion July 8 2020, 13:41:06 UTC
Для начала, нужно сократить рабочий день этак до 4 часов.

Reply

plumqqz July 8 2020, 13:42:20 UTC
До двух!

Reply

plumqqz July 8 2020, 13:40:33 UTC
Кстати, в DB2 можно было это дело затипизировать.

Reply


Leave a comment

Up