Check Levi9 best QA positions to Backbase team!
×Закрыть

Как вы думаете, Kotlin готов заменить Java (в среде Android разработки)?

Собственно интересно ваше мнение!

Кто нибуть может объяснить его преимущества над Java, кроме невозможности получить NPE и странного синтаксиса?

Может кто-то знает зачем он вообще нужен?

PS: Интересуюсь с целью самообразования...

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn

Похожие топики

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
кроме невозможности получить NPE

можно еще и как. Посмотрите на оператор !! ну ли просто throw NullPointerException(). Ну а как иначе? Если язык 100% совместим с Джавой, то и ексепшены он должен уметь бросать такие же как и Джава

Можно получить(например, если заюзаешь nullable переменную через !!), питань нема, прикол в том, что если ты явно говоришь, что переменная может быть null — то юзать ты ее сможешь только как nullable переменную(с использованием ?) и у тебя не вальнется ничего с NPE. То есть тебе сразу компилятор ругается, а не прилетает NPE сюрприз в рантайме.

котлин обалденный язык, но к сожалению на легаси проекты он не скоро переберётся

Кто нибуть может объяснить его преимущества над Java, кроме невозможности получить NPE и странного синтаксиса?

А что в синтаксисе странного? Язык весьма болтливый, но крайне лаконичен, сравнивая с жабой. Есть хорошие возможности дял создания DSL. Очень большое западло, что нельзя у кастомных операторов сделать precedence. discuss.kotlinlang.org/...​r-infix-functions/2685/10

Это все равно что спросить, «готов ли дельфин плавать», если он этим, собственно, и занимается.
Kotlin был изначально на это заточен. Заявлена 100% совместимость с Java. Что касается Android, то Google своё «Yez» уже сказал.
Объективно, есть некоторые сыроватые моменты, такие как генератор документации, или UML диаграмм, если кому важно.
Субъективно, это как если бы долго сидеть за рулем Ланоса с механической коробкой, а потом пересесть за новенького «немца» с автоматом и всякими плюшками. Потом просто за уши не оттащишь :)

Скорее бы и в энтерпрайзе, чистая джава надоела слов нет.

А в чем проблема? Пишите энтерпрайз, Котлин есть уже и в спринге пятом и ktor появился.

Приходите на Kotlin Night Kyiv dou.ua/calendar/19666

Кстати, в 5 Spring‘e добавили поддержку Котлина.

Kotlin уже заменяет Java.
Лаконичный и гибкий код. Перегрузка операторов, extension functions, streams, корутины, упрощённый синтаксис.
Прекрасно :)

Невероятно, ахренеть просто, я думал Котлин это хрень, я всё же ошибался ...

Google сделал его официальным языком разработки под Андроид, так что с хренью погорячились.

Уряя! Господин назначил меня любимой женой!
P.S.
Походу, вони це зробили, щоб Ораклу нагадити.

Перегрузка операторов,

Идейные сишники и гошники предадут анафеме)

Представь что будет, когда индусы до этого доберутся.

Будет то же самое, что и Objective C со Swift

Неуместна аналогия. ObjC нужен дял любых poweruser задач, пока в свифт метапрограммирование не подвезут. Более того, яблоко само на свифт особо не переехало.

В случае же котлина, то он — полная альтернатива. Нет ничего, что нельзя было бы сделать на котлине, что можно на жабе.

Код на Котлине гораздо лаконичнее, например, используя data class’ы можно буквально одной строкой описать то, что на Jave будет в 10 строк. Есть перегрузка операторов, extension функции, функции высших порядков, корутины(пусть и в experimental статусе), что порой очень упрощает жизнь. В последней версии(1.2) появилась возможность писать мультиплатформенные проекты. Если кратко, процесс разработки становится приятнее и быстрее.

На нем просто приятнее писать, плюс есть фичи из Java 8 которая еще не поддерживается на старых версиях Android.
Мое мнение что уже готов заменить — пишу на нем последние полтора года, никаких проблем.

пишу на нем последние полтора года, никаких проблем.

— Невероятно ! Я о нем узнал только в конце прошлого года ...
А на Java-9 можно писать под Андроид ?

Да, он и до релиза отлично работал) Про Java 9 не интересовался, но сомневаюсь. Учитывая что Java 8 подвезли только в Android N.

В Android N подвезли некоторые из фич — стримы, функциональные интерфейсы, etc.. Лямбды и дефолтные/статические методы в интерфесах, например, работают и на более ранних версиях.

Подписаться на комментарии