Kotlin is a statically typed programming language that runs on the Java VM and can also be compiled into JavaScript source code. Kotlin was developed by JetBrains, the company behind IntelliJ IDEA, and has been designed from scratch as an industrial-strength object-oriented language.
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”.