Немного впечатлений о Kotlin (язык программирования)

Мы тут в AzaGroup дико наслаждаемся фичами Kotlin (kotlinlang.org), вроде inline методов, дефолтных значений аргументов и пр. Замечательно улучшает возможности переиспользовать код, не теряя производительность.

Запилили для нашей Android-читалки Reedy супер-управляемый html/xml парсер, конвертирующий в чары/строки только конкретные запрошенные маленькие кусочки (контент или атрибуты), а со всем остальным работающий прямо на уровне байтов. Как дополнительный бонус — возможность работать даже не зная необходимой кодировки, считывая/детектируя её прямо в процессе парсинга, а не отдельным проходом заранее, как делают обычно. Это даёт ещё небольшой прирост производительности.

Стандартный SAX-парсер обходит в ~2.5 раза по скорости и ещё больше по потреблению памяти (абсолютный объем и число создаваемых объектов). VTD-XML парсер обыгрывает примерно на столько же, в рамках своих задач.

С ужасом представляем насколько сложнее и больше кода понадобилось бы на Java. От некоторых очень удобных решений вообще пришлось бы отказаться, вероятно.

Если интересно, можете почитать про сравнение синтаксиса Kotlin vs. Java.

Kotlin Programming Language