Первые впечатления от Kotlin целиком положительные. Боюсь только, что основные достоинства языка станут так же его основными недостатками. Можно легко мешать код Kotlin с Java? Те, кто хорошо знаком с Java будут продолжать писать на ней. А те, кто не знаком, скорее всего будут держаться от Kotlin подальше, потому что это “почти как Java”.
В остальном же, для тех, кто пишет server side, Kotlin предоставляет удобный (и на удивление быстрый) templating. Потому как обычно либо statically typed, либо templating.
Вместо
String name = "Alexey"; System.out.println("Hello " + name);
Или чуть более кошерного
System.out.println(String.format("Hello %s", name));
Есть
val name = "Alexey" println("Hello $name")
Другое очень приятное свойство языка – встроенная обработка NullPointerException’ов.
По умолчанию, переменные вообще не могут быть null.
var name : String name = null // Не пройдет
Если очень нужно, их тип указывается с вопросительным знаком на конце
var name : String? name = null
Но тогда все обращения к ним так же должны быть с вопросительным знаком
name?.length
И никаких exception’ов, посколько length null’а – null.