Kotlin - очень молодый язык. О нём стало известно в 2011г., однако релиз состоялся лишь в 2016. В 2017 Google настолько понравился этот язык, что они решили внести его в стандарт рарработки Android Stdudio. В 2019 году было объявлено, что Kotlin стал приоритетным в разработке под Android.
Язык Kotlin позаимствовал очень многое от других языков программирования. C#, JavaScript, Java, Groovy и т.д. При создании языка буквально взяли всё самое лучшее от других языков, благодаря чему писать на Kotlin очень удобно. Собственно, в этой статье и пойдет речь об этих фичах котлина.
Рефлексия
Kotlin может делать всё то же самое, что и Java, поэтому рефлексия работает аналогичным образом, одна тем не менее, некоторые вещи можно делать иначе, например, получает приватные поля классов:
Типизация
Kotlin является, как и Java, языком со статической типизацией, однако никто не мешает нам сделать следующее:
Это будет работать без ошибок, что в принципе, позволяет создать какую-нибудь библиотеку, с которой можно будет превратить Kotlin в язык с динамической типизацией
Классы
Котлин позволяет очень гибко определять геттеры и сеттеры для классов и делается это удобнее, чем во многих других языках
Sealed классы
Их называют "enums on steroids". По сути это те же енумы, но с большим количество возможностей. Например, они поддерживают дженерики
SAM
Функциональные интерфейсы. Когда интерфейс содержит в себе лишь одну функцию - можно его вызвать через kotlin DSL, что очень сильно упрощает написание
Вывод
Из всего этого можно сделать вывод, что Kotlin действительно является очень удобным языком, а его фичи, которые работают "из коробки" очень сильно упрощают жизнь разработчикам