Pull to refresh

Comments 13

А в Котлин это всё богатство просачивается? Я не писал на Котлине, но вроде как скоро придётся, любопытствую

Смотря что. Синтакисчечкий сахар-большая часть уже существует или есть аналог(часто более удобный чем ввели в джаве). При этом многие конструкции, видимо для обратно совместимости с джавой, вводтся, но выглядят несколько странно.
Фичи JVM-придут, но скорее всего нескоро, с опозданием на пару лет.

Закопайте стюардессу

в Котлине все это давно уже есть

Половина из перечисленного-фишки JVM и конечно при компиляции на JVM всего это в котлине никак не будет и придет оно туда значительно позже. Для котлина эти фичи не менее важны чем для джавы

Если говорить про удобство синтаксиса - то Котлин это уже всё имеет и в более "красивом" виде. Единственное, что switch в джаве умеет больше, чем when в котлине.

Например пример с точкой

if (o instanceof Point(int x, int y)) {

System.out.println(x+y);

}

на котлине будет более естественнен с использованием встроенной функции-расширения apply, которая делает p this внутри apply

data class Point(val x: Double, val y: Double)

val p = Point(0.0, 1.0) as Any
if (p is Point) p.apply {

println(x+y)

}

p.s. { } - это базовая пустая лямбда в котлине

p.p.s. если последним аргументом функции является литерал лямбды, то его можно передать в функцию после аргументов в круглых скобках и если в круглых скобках нечего передавать, то их можно опустить.

И нормальную обработку ошибок в корутинах в 31 релизе. Jav-ишники должны тоже страдать, как и котлинщики

Объясните, что вам там ненормального.

Например, неработающий try catch вокруг запуска корутины. Почему нельзя было эту обёртку заставить работать как supervisorjob, зачем нужна ещё одна сущность?

Ну а ошибки в корутинах в kotlin/js это прям совсем боль. В ошибку вываливатся немеряного размера стек, который НЕ СОДЕРЖИТ информацию о ошибке. Удобно, да.

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

Sign up to leave a comment.