Сейчас опциональная да, но все идет к тому что они везде пролезают и будут куда более востребованы чем работа с thread api. И соответсвенно код становится более вербозный. Я говорю о том что этот дефолт был хорош на старте, но сейчас хочется сделать обратный.
Есть три вида функций:
1. suspend
2. regular
3. blocking
В языке сейчас есть средства только чтобы пометить suspend. И таких функций становится большинство. Соотвественно если теперь suspend это норма, то хотелось бы чтобы
1. suspend fun -> fun
2. regular (fun) -> nosuspend fun (для оптизиций, можно и не вводить такой keyword)
3. blocking (fun) -> blocking fun - те функции которые по каким-то причинам блокируют поток, и их важно не вызвать на основном пуле
Что делать с библиотеками? Допустим, я работаю с хадупом. Там полностью свой слой io, не завязанный на обычный джавовый. Как это понять котлину?