Danila Matveev
Cheese
Leonid 🦇
бесплатное печенье и пицца по пятницам
parket
kosc
Я сейчас поддерживаю крупные проекты на питоне.
Denis
сочувствую
kosc
Меня устраивает.
kosc
Не знаю, как оно было бы с хаскелем, учитывая, что в хаскеле я даже на джуна не тяну.
parket
Я вообще фронт на JS пишу. Не сказать чтоб прям нравится, за то работы много и можно деградировать.
kosc
Писать на JS - это уже само по себе деградация.
kosc
Я тут на днях немножко PureScript поковырял, понравилось.
Andrei
kosc
Да, это почти так.
kosc
kosc
True != False in [False]
kosc
А теперь угадайте, что там будет.
kosc
И то верно.
Cheese
плохой синтаксис можно в любом языке сделать
kosc
А дело не в синтаксисе.
Cheese
(кроме языка без синтаксиса)
kosc
А в результате этого выражения.
Cheese
результат вполне ожидаемый, если знать ситаксис
Cheese
если синтаксис не знать, а применять интуицию из Haskell или C++, то будет неожиданный
parket
Mi Shа
А почему тут получается True?
Cheese
потому что в Питоне это будет цепочка отношений, сахар для
(True != False) and (False in [False])
Cheese
делалось для (0 < x < 100), но дало метастазы
parket
Ужас 😳
Cheese
проблема в непохожести на индустриальные стандарты, но само по себе это решение нельзя назвать плохим
Cheese
если жить только в мире Питона, то всё ок
Andrei
так вот насчет преподавания
это надо либо быть очень умным, чтобы вкурить прелести ФП вообще и онтопика в частности, не отходя от парты, либо уже на тот момент лет пять-десять (в зависимости от ума, мне вот десять понадобилось) поворочать навоз в кровавом энтерпрайзе и порефлексировать на тему
Cheese
строгие? энергичные? я тут нашёл термин "ретивые вычисления"
Leonid 🦇
Andrei
зефиров еще ленивость леностью называл
A64m
мне ФП стало нравится сразу, с первого взгляда на код из-за легкого синтаксиса и ПМ. Это было не в школе и не в институте, но 5 лет я на тот момент не наработал
Leonid 🦇
/me полюбил хаскель за Maybe
Alexander
maybe есть во многих языках
Leonid 🦇
причем за то что это монада
Alexander
ну, технически достаточно чтобы оно было функтором
Alexander
чтобы уже нормально пользоваться
Anton
Alexander
в языках без указателей за maybe сойдет и просто nullable имхо
Leonid 🦇
и сразу любовь
do k1 <- Map.lookup "a" map1
k2 <- Map.lookup "b" map2
Map.lookup (k1,k2) map3
Ю ли я? 🤔
Когда я вёл хаскель/ФП на третьем курсе (а там вообще все зелёные ещё), каждый год находилась пара в итоге проникшихся
Cheese
Alexander
Cheese
Alexander
на примере ruby
Anton
за что?
за “ретивые”, очень понравилось
Denis
Leonid 🦇
Andrei
на примере ruby
NoMethodError (undefined method ‘[]’ for nil:NilClass)
Alexander
ну в общем случае я бы записал через гварды
Alexander
Leonid 🦇
и вообще, руби со своими рельсами и обезьянами это сразу в ведро
Alexander
не хуже питона, хз о чем ты
Leonid 🦇
питон тоже говно
Andrei
Leonid 🦇
но в питоне за обезьян ругают, а в рубях все рельсы на них построены
Alexander
нет беды в обезьянах во фреймворке
Alexander
вот библиотеки там некоторые это пиздец
Alexander
подключаешь ее, а она тебе метод из новых рельс заменяет методом из старых
Alexander
10/10
Alexander
мы кстати пользуемся refinements
Alexander
то что людей учат не правильно не проблема языка
Alexander
проблема языка в том, что доказательства корректности там в стиле "мамой клянусь"
Andrei
Alexander
андрей, ты определись, либо сообщество под стать языку, либо сообщество не умеет им пользоваться, но не одновременно же
Denis
О каких еще доказательствах вы говорите. YOLO, деплоим, лололо
Denis
упс
Denis
сейчас откатим, у нас же капистрано
Denis
упс
Denis
чиним, извиняемся
Alexander
ничего не ъочу сказать, но илчно видел как хаскель деплоили капистраной