Kotlin is interoperable with Java, which makes migration relatively painless. In addition, JetBrains has created a plugin for IntelliJ IDEA and Android Studio that provides code completion, syntax highlighting, refactoring, and other features.
Kotlin has a number of features that make it an attractive choice for Android development:
First and foremost, Kotlin is statically typed, which can help catch errors early in the development process. This is especially important on Android where developers are often working with a limited set of devices and simulators.
Kotlin supports both object-oriented and functional programming styles, making it feel like a more modern development platform. This is something that we’re seeing a trend in many other languages as well — take Swift for example — and should help us write cleaner code with fewer defects.
Kotlin has first-class support for features such as higher-order functions and lambda expressions which should make Android developers’ lives easier: no need to mess around with anonymous inner classes when you can just pass a block of code as an argument!
For those concerned about the runtime performance of Kotlin, JetBrains has done all the research so you don’t have to: according to them, “the JVM bytecode generated by the Kotlin compiler is identical to what any good Java compiler would generate”.