Pull to refresh

Comments 10

Kotlin уже давно стал основным языком программирования на Android.

В этом предложении очень много ложных утверждений.
Пару лет — это уже давно?
Android SDK и AndroidX уже полностью переписаны на Kotlin?
У Kotlin уже своя VM?
А зачем своя VM? И зачем переписывать Android SDK и AndroidX если фишка Котлина как раз в практически полной совместимости с кодом Жабы. Котлин создан чтобы помочь в работе со старым кодом и создавать более лучший новый код, а не для того чтобы переписать его.
Говоря про основной язык, я имею ввиду, что большинство новых проектов и библиотек под андроид пишется именно на котлине, а не то, что все, что связано с андроидом переписано на котлин или должно быть переписано.

Пару лет — это уже давно?

Ну google объявили котлин основным языком разработки под андроид в 2017-ом году. До этого он уже активно использовался. Мне кажется, что более 4 лет в it сфере, можно назвать словом 'давно', учитывая насколько быстро все меняется. Но естественно это субъективная оценка.

Android SDK и AndroidX уже полностью переписаны на Kotlin?

Уже ответили выше, мне также кажется, что нет никакой необходимости в переписывании всего на котлин, для того, чтобы он стал основным в моем понимании.

У Kotlin уже своя VM?

Если честно тоже не понял связи с VM. Думаю котлин отлично работает и с JVM.

Но спасибо за коментарий, постараюсь в дальнейшем не использовать неопределености со временем :)
В принципе все тоже самое работает c Java 8, если кто не в курсе…
Я понимаю, что это субъективное моё мнение, но всё же озвучу. Неужели этот весь код на Kotlin, приведённый в статье, считается более понятным, чем Java?
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() в теле, например, через параметр, тогда и значение параметра бы считалось в момент вызова.
Sign up to leave a comment.

Articles