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