169 похожих чатов

Пришлось по работе пописать на котлине, на корутинах. Как же

это удобно, быстро и просто после возни с TF. Кто может аргументированно охаять котлиновские корутины, чтобы вернуть мне веру в Скалу?

52 ответов

18 просмотров

а какая у вас возня с TF?

Ссылочной прозрачности нет /thread

Sergey-Alaev Автор вопроса
Danieλ Sλapman
Ссылочной прозрачности нет /thread

Довод, но ссылочная прозрачность - это инструмент, а не самоцель. Не зря во многих либах боятся делать f: F[A] в аргументах функций и пишут вместо этого f: => F[A]

просто ты джавист, поэтому тебе удобно)

Sergey-Alaev Автор вопроса
g ⊗ d → λ ⊗ λ
просто ты джавист, поэтому тебе удобно)

Ты меня разочаровываешь, я ожидал личного наезда сначала от Daniel)

Sergey Alaev
Ты меня разочаровываешь, я ожидал личного наезда с...

Я иногда провоцирую, но на личности не перехожу)

Sergey-Alaev Автор вопроса
Danieλ Sλapman
Я иногда провоцирую, но на личности не перехожу)

Я не про тебя, а про сообщение чуть выше, без лямбд)

Sergey Alaev
Довод, но ссылочная прозрачность - это инструмент,...

А почему боятся? Это разве не с целью обеспечить ленивость?

Sergey Alaev
Я не про тебя, а про сообщение чуть выше, без лямб...

вы на вопрос то ответьте сначала, может у вас какой-то свой TF

Sergey-Alaev Автор вопроса
Карим Аль-Савади
А почему боятся? Это разве не с целью обеспечить л...

Именно, на случай, если пользователь передаст неленивый эффект (или эффект, сконструированный неправильно)

Daniel
а какая у вас возня с TF?

@sergey_alaev вот важный вопрос если что

Sergey-Alaev Автор вопроса
Tachi Войцишевский
@sergey_alaev вот важный вопрос если что

Нет, это известный демагогический прием известного персонажа. Перевести вопрос в плоскость личного мнения и заявить, что это мнение неправильное и вопрос не имеет смысла. Замечу, что спрашивал я вообще про корутины)

runCatching из стдлибы ловит CancellationException

Sergey Alaev
Нет, это известный демагогический прием известного...

Так без персонажа, я лично действительно не понимаю, какие могут быть возни с ТФом

Sergey-Alaev Автор вопроса
(
runCatching из стдлибы ловит CancellationException

Это довод, первый коммент по теме, спасибо.

Tachi Войцишевский
Так надо только про котлин говорить?

Надо говорить как надо Сергею, Сергей он как Лев, только Сергей

интересно, как тф связан с корутинами? посмотрел доку корутин, с зио или каким-то другим ио бы уже сравнивали

Eλijah
интересно, как тф связан с корутинами? посмотрел д...

Да и с ио некорректно наверное сравнивать

g ⊗ d → λ ⊗ λ
Да и с ио некорректно наверное сравнивать

наверное, я одну страницу проскролил просто

Сергей, к сожалению, ничего тут добавить нельзя. Нет никакого сравнения корутин с TF, корутины гораздо лучше, пишите на корутинах. Мы очень сожалеем, что больше никогда не услышим вашего мнения в этом чате, но что поделать

Sergey-Alaev Автор вопроса
Eλijah
интересно, как тф связан с корутинами? посмотрел д...

И то, и другое - это DSL для асинхронного кода. Все реализации IO-монады в скале более-менее одинаковы по характеристикам, мне хотелось бы, чтобы человек, знакомый с обоими подходами, изложил, чем вариант скалы принципиально лучше.

Sergey Alaev
И то, и другое - это DSL для асинхронного кода. Вс...

мне кажется вы тут единственный, кто оба варианта опробовал, и кто мог бы нам рассказать, чем вариант котлина вас подкупил. может и правда есть чего почерпнуть

Sergey-Alaev Автор вопроса
Sergey Kucherenko
ты видел новый arrow?

Впервые слышу, что их два. Смотрел на arrow пару лет назад, выглядело как грубая копия котов, т.к. язык все-таки не тот

Sergey Alaev
И то, и другое - это DSL для асинхронного кода. Вс...

забавно конечно, но не думаю что TF это DSL Для асинхронного кода в первую очередь

Sergey-Alaev Автор вопроса
湊崎 ターボ
забавно конечно, но не думаю что TF это DSL Для ас...

А зачем еще усложнять свой код эффектами? Resource, ApplicativeAsk, явное описание ошибок и контекста в эффектах - это приятно, но недостаточно, чтобы загромождать код for-comprehensions-ами и ненативными для скалы операторами композиции

Sergey-Alaev Автор вопроса
Sergey Kucherenko
https://arrow-kt.io/docs/effects/io/

Забавно, но это же только способ реализации IO? Для эргономики библиотеки это не выглядит важным.

Sergey Alaev
Забавно, но это же только способ реализации IO? Дл...

а мне кажется, как раз pragmatics это меняет сильно. Раньше там везде были HKT на хаке из https://github.com/ocamllabs/higher, их выпилили.

Sergey Alaev
Забавно, но это же только способ реализации IO? Дл...

Там смоделировали IO на продолжениях, если это не меняет, то не знаю, что меняет

Sergey Alaev
Забавно, но это же только способ реализации IO? Дл...

As a consequence, we have gotten rid of most of the functor hierarchy since continuations give us the ability to bind in place and compute anything in a coroutine that later can resume the program stack. The functor hierarchy is only useful when using an indirect style.

Sergey-Alaev Автор вопроса
Sergey Kucherenko
As a consequence, we have gotten rid of most of th...

Ждем следующего шага - понимание, что IO не нужен и достаточно suspend fun?)

Sergey-Alaev Автор вопроса
Eλijah
мне кажется вы тут единственный, кто оба варианта ...

Пересмотрел код, который я переписывал со скалы на котлин. Вариант на котлине менее строгий (AutoCloseable вместо Resource, отсутствие тайпклассов), но более прагматичный и писать приятнее. Сложно объяснить, нужно сесть и попробовать.

Sergey-Alaev Автор вопроса
Daniel
не ну это бан

Я задел твои религиозные чувства?

Sergey Alaev
Пересмотрел код, который я переписывал со скалы на...

То есть это субъективные впечатления, особенно касательно "прагматичности", все таки.

Sergey-Alaev Автор вопроса
Kirill Shelopugin
То есть это субъективные впечатления, особенно кас...

К сожалению, математики в IT не котируются, неспособны они формально выбрать лучший способ писать код. Остается опираться на свой опыт и мнения экспертов. Как человек. который много лет писал на джаве, на скале в самых разных стилях, на котлине, я имею право на своё мнение)

Sergey Alaev
К сожалению, математики в IT не котируются, неспос...

но как говорится в таких вопросах никому доверять нельзя

Sergey Alaev
К сожалению, математики в IT не котируются, неспос...

Безусловно! Просто начал ты с того, что нужно "аргументированно охаять корутины, чтобы вернуть веру в скалу", но не очень ясно зачем хаять, если это дело вкуса.

Sergey-Alaev Автор вопроса
Kirill Shelopugin
Безусловно! Просто начал ты с того, что нужно "арг...

Не вкуса. Опыта. И знаний - у корутин есть объективные недостатки перед монадической композицией.

Sergey Alaev
Не вкуса. Опыта. И знаний - у корутин есть объекти...

Но ты же вот сообщением выше пишешь про отсутствие формального выбора метода написания кода и своё мнение. Это же и есть вкусовщина.

Sergey Alaev
Не вкуса. Опыта. И знаний - у корутин есть объекти...

Я бы, кстати, почитал/послушал про недостатки корутин перед монадической композицией, потому что я не сильно в теме корутин. Так что было бы здорово, если бы ты смог поделиться опытом, т.к. попробовал и то и другое.

Sergey-Alaev Автор вопроса
Kirill Shelopugin
Я бы, кстати, почитал/послушал про недостатки кору...

Олег, похоже, что-то знает, но он сегодня токсик

Sergey Alaev
Олег, похоже, что-то знает, но он сегодня токсик

да вроде у тебя есть опыт достаточный, и мысли методично излагаешь; я бы тоже почитал; плюсую Кирилла

Sergey-Alaev Автор вопроса
Grigory Pomadchin
да вроде у тебя есть опыт достаточный, и мысли мет...

Нет, этот этап я прошел. Самопиар мне не нужен, а комментарии и отзывы не окупают затраченные усилия

Sergey Alaev
Нет, этот этап я прошел. Самопиар мне не нужен, а ...

ну причём тут пиар, ты ж знаешь что-то; я б почитал небольшую статью о корутинах преимуществах и недостатках

Sergey Alaev
Нет, этот этап я прошел. Самопиар мне не нужен, а ...

Если считаешь, что писать о таком не окупается, зачем призываешь других писать о таком

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
У тебя в конфиге нигде нет deny all; или вообще любого deny?
Alexander Sherbakov
10
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Ребят, чет я уже не догоняю... Крч в коде на асм там происходит нечто вроде a+число (a+1, a+2 и т.д.). Но почему строка lea ecx, [edx+1] работает как a+1?? В edx берется адрес...
Alan 🔝 Бэброу
4
думаешь я не смогу также сделать? мне это просто не удобно
int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
9
Карта сайта