Комментарии 10
Kotlin уже давно стал основным языком программирования на Android.
В этом предложении очень много ложных утверждений.
Пару лет — это уже давно?
Android SDK и AndroidX уже полностью переписаны на Kotlin?
У Kotlin уже своя VM?
Пару лет — это уже давно?
Ну google объявили котлин основным языком разработки под андроид в 2017-ом году. До этого он уже активно использовался. Мне кажется, что более 4 лет в it сфере, можно назвать словом 'давно', учитывая насколько быстро все меняется. Но естественно это субъективная оценка.
Android SDK и AndroidX уже полностью переписаны на Kotlin?
Уже ответили выше, мне также кажется, что нет никакой необходимости в переписывании всего на котлин, для того, чтобы он стал основным в моем понимании.
У Kotlin уже своя VM?
Если честно тоже не понял связи с VM. Думаю котлин отлично работает и с JVM.
Но спасибо за коментарий, постараюсь в дальнейшем не использовать неопределености со временем :)
Спасибо за статью, узнал новые нюансы!
Java не единственный язык, который я более-менее знаю. Но вот на Kotlin смотрю и не могу отделаться от мысли, что язык стал просто монструозным.
lateinit
, val
, var
, fun
, Unit
… Такое ощущение, что скоро добавятся служебные слова mega
, over
, awesome
, great
, amazing
, just
, keep
…Код на Котлине приносит приятный синтаксический сахар: автоматический вывод типов, удобное делегировние, дата класы, функции расширения и другое. Но он так же легко читаемый как и java, если поработать с ним несколько месяцев.
Там уже куча новых слов типа crossinline и еще говна всякого. Java проект почти никогда не требует гайда и кодстайла на мелких проектах. На котлине любой проектик типа андроидного приложеница немедленно стремится превратиться в кашу и без палки и такой-то матери нежизнеспособен. Я пока на котлине около 50к строк написал может не преисполнился, java придумывали инженеры, котлин это попытка java превратить в js от вебмакак, которые не понимают, что намного важнее то, чего нельзя, чем то, что можно. И крутой маркетинг конечно, тут просто мое почтение. Причем почему-то аппологеты котлин сравнивают его с java 6...даже в книжках по котлин :) Потому как все хоть сколько то полезное от лямбд уже есть с 8, а на дворе 17.
val buttonLambda = Button { listener.onClick() }
val buttonReference = Button(listener::onClick)
Лямбда может содержать множество операторов, не только вызов onCkick. Сопоставимым была бы передача функции с вызовом listener.onClick() в теле, например, через параметр, тогда и значение параметра бы считалось в момент вызова.
Kotlin. Лямбда vs Ссылка на функцию