Undoubtedly there is a lot of hype surrounding the new kid on the block, Kotlin. Even so, it is currently welcoming ever increasing waves of Java migrants to the extent that starting out with Java for the Android platform is about to become outdated.
But why Kotlin?
Kotlin is an expressive programming language with lambdas, coroutines, properties, object and functional constructs and advanced features all built in. It is statically typed, just like Java, and seamlessly interoperates with any given Java library in order to leverage the vast functionality found in Java's ecosystem.