Вот здесь, все подытоживается, и про покраску кнопок, и про Good tier программиста на скале, и про состояния кнопки и про сранье пользователям в руки, и про типизацию
но и лум очень сильно круче чем async await, имхо. т.к. это настоящие грин треды на уровне платформы, а не горстка цветных функций, привязанных к реализаци либ
корутины это просто концепция. так-то грин треды в го - это корутины тоже. речь про их реализацию - на уровне рантайма или либами. цветные функции или нет
корутины это просто концепция. так-то грин треды в го - это корутины тоже. речь про их реализацию - на уровне рантайма или либами. цветные функции или нет
Я про реализацию в котлине, она на порядок лучше. 1. Явный suspend 2. structured concurrency и явный скоупинг
1. зачем? 2. loom тоже поддерживает structured concurrency 3. это только для котлина (т.е. неприменимо даже в общем в JVM экосистеме)
1. Явное разделение suspend и не suspend функций. В рамках подхода фп - отлично разделяются pure функции от грязных функций. 2. Не заметил, ок. 3. Ну джавистам оно надо, а в котлине есть инструмент лучше. Ну и хз что там у скалы, я не особо интересовался.
1. Явное разделение suspend и не suspend функций. В рамках подхода фп - отлично разделяются pure функции от грязных функций. 2. Не заметил, ок. 3. Ну джавистам оно надо, а в котлине есть инструмент лучше. Ну и хз что там у скалы, я не особо интересовался.
то что функция не suspend, ещё не значит, что она чистая. То что функция suspend, ещё не значит что она грязная
1. Явное разделение suspend и не suspend функций. В рамках подхода фп - отлично разделяются pure функции от грязных функций. 2. Не заметил, ок. 3. Ну джавистам оно надо, а в котлине есть инструмент лучше. Ну и хз что там у скалы, я не особо интересовался.
1. это разделение не нужно, даже если ты не пользуешь фп. а если пользуешь - тоже не нужно, смотрим на эрланг и хаскель (если мне не изменяет память)
то что функция не suspend, ещё не значит, что она чистая. То что функция suspend, ещё не значит что она грязная
Естественно, но если следить за тем, чтобы любой эффект был суспенд функцией - всё становится явно. Тебе буквально компилятор запрещает вызвать из твоей чистой функции какой-то эффект.
Естественно, но если следить за тем, чтобы любой эффект был суспенд функцией - всё становится явно. Тебе буквально компилятор запрещает вызвать из твоей чистой функции какой-то эффект.
ну такое, suspend для этого не предназначен. Коли хочется отслеживать эффекты – просто напиши линтер, который заставит все функции с эффектами помечать аннотацией @Effectful