В конторе (epam, не g.) спросили, не могу ли я сделать какую-нибудь общеинтересную учебную презентацию для коллег; сказал, что подумаю. Придумалось пока название: "What is functional programming and what use does it have for normal people?" #fp #nargery
О да! FP for unwashed masses! ‎- Юдж
Вполне можно воспеть немножко радостей purity и immutability, а также привести, эээ, соотв. design patterns на примере JS, Python, Java. ‎- 9000
Не столько unwashed, сколько down-to-earth. Мне ещё довелось застать вхождение в моду ООП; его тоже проповедовали не (только) unwashed masses, а и вполне грамотным людям, выросшим на фортране и алголе и ценящим то, что принесло с собой структурное программирование. (ООП, кстати, принесло в мэйнстрим кучу ценного, в основном с объектами связанного слабо: идеи модульности, инкапсуляции, разделения интерфейса и реализации, unit tests, etc.) ‎- 9000
Кстати, интересно было бы почитать про то, как конструировать приложение с точки зрения функционального (а не ОО) подхода. С ОО все понятно, модули и модули. Вот роутер, например, у него есть метод, запихиваешь в метод урл, происходит диспатч - дергаем метод у какого-то контроллера. А как это сделать с чистым ФП? ‎- Юдж
в последнем Радио-Т кстати Умпутун на эту тему пол часа вещал, что чистый функциональный подход не работает, код сложный и тд. ‎- Я много страдала
Насчет роутинга вот например описание из Cowboy http://ninenines.eu/docs/en/cowboy/HEAD/guide/routing/ Вот соответственно из Compojure https://github.com/weavejester/compojure/wiki/Routes-In-Detail ‎- Я много страдала
что касается модулей, то. допустим, в OCamlе наиболее продвинутая система модулей из всех сколько-нибудь промышленных языков, причем там модули тоже устроены в соответствии с принципами FP ‎- лицо не владеющее языком
из очевидных вещей в мейнстриме мы имеем generic programming (aka C++ templates, доупстим), который напрямую из FP заимствован ‎- лицо не владеющее языком
в Erlang есть behaviours, которые по сути являются шаблонами модулей, описывающими API, ну и соответственно все в FP стиле. При этом забавно, что стандартный модуль (ну например реализация gen_server), оставаясь полностью функциональным, в то же время представляет и себЯ классический ООП объект ) Поэтому говорят, что Erlang лучший в мире ООП язык )) ‎- Я много страдала
было бы интересно. на реддите и около все объяснения в стиле "бивис, это круто и все такое, инвесторы нам дадут", примеров, более или менее похожих на реальные, нет ‎- urquan
это примерно как сделать доклад "что такое абстрактное мышление и чем оно полезно нормальному человеку". удачи, в общем. ‎- сосиски супремасиски
Я знаю один пример, который не просто похож а вовсе даже реальный — это презентация про Asynchronous JavaScript in Netflix https://www.youtube.com/watch?v=XE692Clb5LU ‎- alf
@alf хороший, да. еще бы про immutability и типы такие же ‎- urquan
@kmbnrn - Day8/re-frame советую посмотреть. ) ‎- госкомпиляторг
Выглядит интересно. ‎- Юдж
@kmbnrn - там, на самом деле, самого кода - строк 200, просто это правильные строки кода. сейчас мы делаем пару проектов на рефрейме, пока все нравится. ‎- госкомпиляторг