Vasily
Я понимаю, что в коде происходит, но за синтаксис for Одерски премию точно не стоит выдавать
Vladislav
https://www.youtube.com/watch?v=Kas0tIxDvrg
Ayrat
Скале не хватает CE из фшарпа
Ayrat
Вот прям сильно
Диёр
Скале не хватает CE из фшарпа
{language_name} не хватает CE из фшарпа
Ayrat
@Liminiens вот тебе ещё
Ayrat
Ayrat
Ayrat
Обычный говнокод с валью
Ayrat
Ничего особенного, а он, сцука, красный
Ayrat
И они так все пишут
Ayrat
Весь код обмазан этим уебищным F
Vladislav
Ayrat
Вся кодобаза в for завернута
Ayrat
И везде эти блядские for { _ <- ... }
Ayrat
Вот спёр бы уже одерский CE...
Ayrat
Было бы как у людей F { do! ... val! abc = ... abc match! { ... } }
Андрей
Весь код обмазан этим уебищным F
что это за F, какой-то Either чтоли? Нельзя просто вернуть Option[WrongCode]?
Doge
Весь код обмазан этим уебищным F
А в чем проблема, final tagless же, лучшая архитектура, решение expression problem, все дела
Ayrat
Может быть чем угодно, что поддерживает нужный набор тайпклассов
Ayrat
А в чем проблема, final tagless же, лучшая архитектура, решение expression problem, все дела
Поллютит кодобазу, код становится вырвиглазным говном, неясно что происходит на самом деле, так как все абстрагировано и не связано. Из этого кода ты не знаешь что делает F.bind например.
Ayrat
Это как декораторы в ООП. Ты вроде видишь интерфейс. А то что он оборачивается 10ю другими и там происходит хуй пойми что, надо понимать в другом месте
Ayrat
Так у тебя тайпклассами и ограничено, что нужно от F в данном контексте и что он в нём делает
Но ты не знаешь какой ИНСТАНС этого тайпкласса будет работать в этом коде
Doge
Но ты не знаешь какой ИНСТАНС этого тайпкласса будет работать в этом коде
А это и не важно, все важное для данного конкретного кода сказано в тайпклассах
Ayrat
Короче, меня бы не так бомбило, будь у этого нормальный синтаксис
Doge
Короче, меня бы не так бомбило, будь у этого нормальный синтаксис
Если смелый, можешь взять библиотеку Dsl.scala, она позволяет писать в таком стиле без for comprehension
Андрей
наверняка можно flatMap().flatMap().flatMap() но от этого красивше не станет
Андрей
scalaz это уже как scala+
Doge
это что-то типа фшарп плюс в мире скалы?)
Нет, это плагин к компилятору, только который в отличие от остальных, на самом деле что-то ощутимо меняет.
Doge
Он добавляет возможность писать обычный код и автоматом превращать его в некое подобие CE.
Roman
в f# не хватает плагинов к канпелятору :)
мне кажется, это еще опасней кастомных операторов
Roman
типа на 100 плагинов дай бох 1 хороший, годный будет
Андрей
остальные не скомпилятся же
Doge
Нет, это плагин к компилятору, только который в отличие от остальных, на самом деле что-то ощутимо меняет.
Т.е. из-за того, что плагин на самом деле что-то ощутимо меняет и стрёмно
Roman
Т.е. из-за того, что плагин на самом деле что-то ощутимо меняет и стрёмно
меняет с брейкинг ченджами что ли? Типа рабочий код может перестать собираться / заиграть новыми красками с этим плагином?
Андрей
и наоборот, ага
Roman
ну наоборот ожидаемо
Roman
иначе хули этот плагин делает)
Vasily
В скале то, что код ведёт себя по-другому, обычно ожидаемое поведение, учитывая состояние экосистемы
Doge
меняет с брейкинг ченджами что ли? Типа рабочий код может перестать собираться / заиграть новыми красками с этим плагином?
Нет, старый код он не трогает, но мало ли какие подводные камни там. Я, кстати, эту штуку заюзал из любопытства в одном домашнем проекте, работает норм, но вот в прод все равно стремно тащить
Ayrat
Ну, пока что экосистема скалы выглядит годно в бигдате. В хттп все плохо. Акка, на которую все ругаются, на самом деле тащит скалу и ее популярность в энтерпрайзе
Ayrat
Мне кажется без акки, скала прошла бы незамечено
Roman
классика)
Doge
То есть использовать её просто как ещё одну абстракцию над многопоточностью - это гиблое дело
Doge
Она для этого слишком дорогая в плане сложности и инфраструктуры
Ayrat
Она не для мелких задач, это да
Ayrat
Это карьерный экскаватор
Ayrat
Аккой надо жить, принять ее способы решения проблем и вид на мир
Doge
Аккой надо жить, принять ее способы решения проблем и вид на мир
Скорее надо подумать, взял бы я в этой задаче эрланг, если была бы возможность. Если ответ - да, то можно брать акку
Roman
Скорее надо подумать, взял бы я в этой задаче эрланг, если была бы возможность. Если ответ - да, то можно брать акку
какой неожиданный заход. Думаю, большинство программистов гораздо дальше от эрланга, чем от акки
Doge
а ещё можно взять ерланг
С ним свои проблемы есть, увы
Ayrat
А я б пописал на эрланге
Диёр
Диёр
таки ребаром в 2020 году можно почти не пользоваться
Ayrat
У меня топ 3 языка на которых я бы пописал: Эрланг Кложура Раст
Doge
какой неожиданный заход. Думаю, большинство программистов гораздо дальше от эрланга, чем от акки
Ну акка - это такой кривой заход в сторону эрланга, только на жвм. Из-за этого исправляются часть проблем эрланга, но добавляются свои
Roman
У меня топ 3 языка на которых я бы пописал: Эрланг Кложура Раст
я вот не очень понимаю, для каких задач динамические языки хорошо подходят
Диёр
вроде подходит
Ayrat
я вот не очень понимаю, для каких задач динамические языки хорошо подходят
Мне в ракете репл оооооочень понравился. Скорость разработки наверное ядерная. В фшарпе репл корявый, но я почти все в нем делаю
Андрей
Мне кажется без акки, скала прошла бы незамечено
я б сказал без спарка, хотя уже слышал есть замена и акке и спарку
Roman
хм, вот наверное какой-нить ML удобно на динамике херачить
Ayrat
скорость высокая, но как потом большую базу поддерживать?
У меня нет такого опыта, мне нечего сказать!
Диёр
живёт вполне себе
Doge
я вот не очень понимаю, для каких задач динамические языки хорошо подходят
Скрипты для мелкой аатоматизации норм на них писать
Ayrat
Вообще для резюме-валуе надо питон изучить
Диёр
топфейс и его дочки все тоже на пхп продолжают делать, там кодовая база тоже нормальная