Kotlin is a powerful and pragmatic language. JetBrains put a lot of effort into not only making it effective but also compatible with existing Java code and libraries. Despite a few rough patches such as SAM lambda inference, they did a phenomenal job making Java and Kotlin work together. However, even with this solid compatibility, many developers were eager to migrate entirely to Kotlin to leverage its functionality. Named parameters, optional parameters, nullable types, extension functions, inline functions, delegates, and other language features make Kotlin attractive for exclusive use.
JetBrains has also successfully made Kotlin compliable with JavaScript and will soon support Low-Level Virtual Machine (LLVM) native compilation. Libraries built in pure Kotlin can potentially be compiled to all these platforms. To solidify Kotlin's position...