На каком языке программирования лучше писать Android-приложения: Java или Kotlin?
Расскажите, какой из этих двух языков вы выбрали для мобильной разработки и на чём основан ваш выбор. Да, я понимаю, что вопрос довольно философский и можно ответить "да на чём тебе удобно", но интересуют конкретные плюсы и минусы в отношении каждого языка за счёт архитектуры, фреймворков, интеграции и т. д.
Ответы (3 шт):
Если вы новичок и хотите работать с Android — учите Kotlin. В остальных случаях я бы выбрал Java.
Вопрос действительно философский. Kotlin - код короче за счет современного синтаксиса. Время на разработку и тестирование меньше. Kotlin-разработчики могут использовать Java-фреймворки и библиотеки и писать более понятный и простой код.
Я думаю, что в ближайшее время Java все равно будет самой популярной. Аргументацию можно почитать тут
Я бы однозначно порекомендовал бы Java. Kotlin - новомодная штука, которая как взлетела, также может и "упасть". А Java вам может пригодиться не только для Andriod. Знание Java значительно помогает в изучении и использовании Kotlin, но не наоборот. Своей раскрученностью Kotlin обязан в большей степени эффективным менеджерам JetBrains, т.к. официальными языками для Andriod Google и раньше признавал многие другие JVM языки программирования, но про это не кричали на каждом углу. А завтра они вообще запустят какую-нибудь Фуксию и без Java, и без Kotlin. С Java не пропадёте, ваша ценность и стоимость как программиста будет намного выше.
Учите kotlin, но если честно, то надо знать оба языка.
Почему kotlin,
Во-первых он имеет более лаконичный синтаксис и писать и читать намного легче.
Во вторых kotlin Google выбрала приоритетным языком, и теперь именно он является основным.
В третьих в android не полноценная современная java а ее урезана версия, и на фоне конфликтов Google и Oracle вряд ли она будет
Но если вы планируете android не как хобби, а как ремесло, то скорее всего вам потребуется поддерживать старый код на java, плюс многие компании хоть и переходят на kotlin делают это очень медленно.
Так же по kotlin не всегда удается найти ответ для решение какой либо проблемы, а на java ответ есть, и зная оба языка вы без проблем портируете его