Alexander
Мне хочется верить, что ситуация с восприятием ФП среди русскоговорящего сообщества программистов начинает меняться. Я думаю, мы все еще отстаем в этом, но смотрите какой прогресс: даже плюсовики стали очень сильно интересоваться ФП. Платонов, который делает C++ Russia и другие конфы C++ User Group, уже года три подряд приглашает в качестве кейноут спикеров известных плюсовиков-перебежчиков в хаскеллисты. Ну и в соседнем чатике предстоящей в Питере конфы люди просят у меня сделать два доклада по ФП в плюсах (один я точно делаю)
A64m
у плюсовиков всегда какой-то интерес к ФП был, с 80-х годов. Только в плюсах с ФП особо не разгуляешься.
Cheese
в ЛК очень плохо с горизонтальной коммуникацей (я чуть-чуть пытаюсь исправить это, но лично мне это не очень нужно). у нас команда хаскелитов, через стенку целый отдель пишет на F#, но мы совсем не общаемся, я узнал об этом случайно
Cheese
Александр, ты мог бы перейти в нашу команду, если бы коммуникации были какие-то
Alexander
@cblp_su У вас где-то в 2015-16 была вакансия. Я с кем-то беседовал (уже не помню, с кем). Но было требование: либо Москва, либо никак.
Alexander
Впрочем, пустое. Это лишь иллюстрация ситуации с ФП/Хаскеллем в целом. Я ни на что не жалуюсь
Cheese
ЛК это что?
Лаборатория Касперского
Cheese
скорее, это иллюстрация токсичного коллектива
Alexander
Увы, да
Igor
Лаборатория Касперского
А не в крурсе что там на F# пишут?
Cheese
А не в крурсе что там на F# пишут?
кажется, виндовые приложения
Leonid 🦇
В подкасте слышал что из ф# научились извлекать норм яваскрипт
Leonid 🦇
И ещё что ф# популярен в Нигерии
Cheese
А не в крурсе что там на F# пишут?
https://hh.ru/search/vacancy?text=Kaspersky+F%23
Alexander
у плюсовиков всегда какой-то интерес к ФП был, с 80-х годов. Только в плюсах с ФП особо не разгуляешься.
Смотря что делать. Монады, там, конечно, не очень приятно реализовывать. Есть умельцы, которые смогли do-синтаксис приближенно воспроизвести, но все равно не слишком хорошо это выглядит. И тайп классов нету; обещают завезти (концепты).
Igor
В подкасте слышал что из ф# научились извлекать норм яваскрипт
Типа того, пишу на F# под ReactNative - мне заходит (не прод конечно). Кто-то говорят и под web React юзает.
Igor
Вообще это одна из немногих альтернатив - чтобы писать под Android/iOS на (+-) функционально-типизированном языке.
Anonymous
Там вон manning целую книжку по FP на С++ в феврале выпускает, не знаю правда насколько она норм
Alexander
Книга пера Ивана Чукича. Я на ее заявку делал ревью и предложил переделать структуру. В переделанном виде она и пошла в процесс.
Alexander
Сам Чукич приезжает на конфу (не первый раз).
Alexander
Книжка хорошая.
A64m
ФП без ГЦ - боль
Alexander
ФП без ГЦ - боль
Да нет, не особо.
A64m
Да
Андрей
а где фп без гц?
Alexander
В плюсах - не большая боль, чем сами плюсы
Андрей
плюсы фп? )
A64m
а где фп без гц?
в плюсах, в расте, в свифте
Alexander
плюсы фп? )
Нет, даже не близко. Скала и то ближе. Хотя тоже нет
Cheese
ФП без ГЦ - боль
имеется в виду неявное управление памятью? ведь подсчёт ссылок почти полностью покрывает GC
Leonid 🦇
ФП без ГЦ - боль
кому и std::shared_ptr GC
Alexander
Да и вообще можно чистое ФП на шаблонах. Там в принципе без памяти все... В некотором смысле
A64m
имеется в виду неявное управление памятью? ведь подсчёт ссылок почти полностью покрывает GC
да в том и дело, что в фп вечно циклы будут, и сценарии где счетчики тормозят, т.е. с подсчетом ссылок всегда боль будет
Alexander
да в том и дело, что в фп вечно циклы будут, и сценарии где счетчики тормозят, т.е. с подсчетом ссылок всегда боль будет
Плюсовики на это скажут, что GC непрелсказуем и делает Stop the World (по крайней мере в Java)
Alexander
*предсказуем
Alexander
*непредсказуем
Alexander
java же есть инкрементальные
Alexander
даже в го будет
A64m
да, у ГЦ есть недостатки, но на удобство ФП они плохо не влияют
Alexander
Я ненастоящий сварщик, лишь транслирую мифы
A64m
Плюсовики на это скажут, что GC непрелсказуем и делает Stop the World (по крайней мере в Java)
только для явы и есть конкурентный сборщик пригодный для продакшона. (не в оракловой имплементации, там псевдоконкурентный)
Alexander
Вот, кстати, и вопрос в целях повышения образованности: а Haskell какой GC?
Alexander
stop the world
Alexander
даже в nursery
Alexander
с поколениями
Alexander
точный
Alexander
Понятненько
Alexander
immutability aware
Alexander
у пушера к этому претензии
Alexander
но из пушера уже и гошники бежать начинают
Alexander
хаскелисты убежали при переходе на го
Alexander
О чем речь, что есть "пушер"?
Alexander
ну может не все, но некоторые уже ищут куда бы свалить
Alexander
Токсичен?
Alexander
пушер - сервис доставки сообщений, известен тем что перешёл с хаскель на го из-за гц
Alexander
но судя по словам людей оттуда ушедших они профессионалы отстреливается себе ноги
Cheese
https://pusher.com/
Alexander
Спасибо. Приятно, что можно не гуглить, особенно на ходу
Alexander
под low latency оптимизирован
Alexander
Пишут, что любят девелоперов: "We <3 developers"
Alexander
особенно если хип по какой-то причине не разрастается
Alexander
в Haskell под high throughput
Alexander
типа мы быстрее собираем, но в среднем пауза больше, но пауз меньше
Vadim
под low latency оптимизирован
У хаскеля разве не инкрементальный гц?
Alexander
к сожалению нет
Alexander
ветка с инкрементальным замержена в мастер не была
Alexander
profit doesn't worth the cost
Alexander
мол гораздо сложнее код, а на тестируемых программах не видно, что есть толк
Pavel
https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/
Alexander
в современном мире было бы интересно померять снова
Vadim
Т.е. на больших объемах хипа остановки тоже дольше?
Alexander
да
Alexander
ну в хаскелле у тебя поколения есть, со всеми следствиями, в отличии от го
Alexander
так что есть мнение что начиная с определенного объема хипа хаскель себя адекватнее вести будет