Top.Mail.Ru
Ответы

Чем Kotlin лучше Java ? Почему его все используют в Android Studio ?

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
2нед

Kotlin имеет более лёгкий синтаксис по сравнению с Java, при этом функционал языков практически не отличается. Kotlin обеспечивает повышенную производительность и полную совместимость с Java. Он встроен в большинство популярных IDE и имеет надёжную обратную совместимость.Kotlin занимает меньше времени для компиляции, легче по весу и позволяет приложениям занимать меньше места на устройстве. Коды, написанные на Kotlin, имеют меньший размер, что означает, что в них будет меньше ошибок и отладка будет быстрее.

Аватар пользователя
Высший разум
2нед

Есть такое слово - "политика". Каждая корпорация - это феодал, который хочет иметь всё своё и не зависеть от других крупных феодалов. А зависимость от мелких феодалов допустима, так как им можно диктовать свои условия силовым путём, а при необходимости их можно полностью купить.

Java - язык программирования, разработанный Sun и развиваемый Oracle, купившим развалившийся Sun. Android - платформа Googe. Google не хочет зависеть от Oracle.
Kotlin - язык программирования, разработанный крошечной компанией JetBrains, неспособной составить конкуренцию Google. Но при этом у него - вполне промышленный статус, на нём написано довольно много кода. С т.з. гугломенеджера этим он и лучше, чем Java.

Когда-то писать на Kotlin можно было быстрее за счёт более лаконичного синтаксиса и отсутствовавших в Java выразительных средств (лямбды, деструктуризация, соответствие шаблонам, автоматическое приведение к подтипам при проверке instanceof, val/var, data и value классы и т.п.). Сейчас это неактуально: синтаксический сахарок появился и в Java, пусть корявый, но значительного разрыва с Kotlin больше нет. Лямбды, деструктуризация, var - тоже есть. Проверки на null - всё ещё больное место Java, но его когда-нибудь решат. Data и Value классы добавлены (record). Многие вещи решаются генерацией ритуального кода, которую умеет делать IDE, писать его руками и потом вылавливать в нём ошибки не нужно. Так что функционально преимущества Kotlin давно уже сведены на нет.
Производительность байт-кода от Java чуть лучше, чем байт-кода от Kotlin, и в любом случае это незначительный фактор для интерпретируемого языка.

Я ещё понимаю, если бы они взяли Scala, вот на нём действительно решения можно делать более компактными и эффективными, и он не принадлежит никакому вендору. Но это нарушило бы основной кадровый принцип феодала: нанимать низкооплачиваемую и легкозаменяемую рабочую силу. Порог входа у Scala намного выше, чем у Java.

В общем, ничего, кроме политики, в этом решении Google нет.

Аватар пользователя
Ученик
2нед

я java пользуюсь котлином еще не пользовался.