Kotlin is a static programming language for modern multi-platform applications, developed by JetBrains.

Kotlin can be compiled to Java bytecode or JavaScript, making it easy to run on devices without a JVM. In addition, Kotlin can compile binary code to run directly on the machine (such as embedded devices or iOS).

Kotlin has become the official Supported development language for Android.

Introduction to the

In July 2011, JetBrains launched the Kotlin project, a new language for the JVM that has been in development for a year. JetBrains head Dmitry Jemerov says most languages don’t have the features they’re looking for, with the exception of Scala. However, he pointed out the obvious drawback of Scala’s slow compile time. One of Kotlin’s stated goals is to compile as quickly as Java. JetBrains opened the project under the Apache 2 license in February 2012.

Jetbrains hopes the new language will boost sales of IntelliJ IDEA.

Kotlin V1.0 was released on February 15, 2016. This is considered the first official stable release, and JetBrains is ready for long-term backward compatibility starting with this release.

In Google I/O 2017, Google announced first-class support for Kotlin on Android.

The target

Create a Java-compatible language

Make it more secure than Java and statically detect common traps. For example, reference a null pointer

Make it more concise than Java by supporting variable type inference, higher-order functions, extension functions, closures, Mixins and first-class delegation, etc.

Making it simpler than Scala, its most mature rival

Develop Android apps with Kotlin

Write better Android apps faster with Kotlin. Kotlin is a new statically typed programming language used by more than 60 percent of professional Android developers to help increase productivity, developer satisfaction, and code security.

Expressive and concise

Kotlin’s modern language features let you focus on expressing your ideas and writing less boilerplate code.

More secure code

Kotlin can help you avoid NullPointerExceptions with the @Nullable and @nonNULL included in its own type system. Android apps that use Kotlin are 20% less likely to crash.

interoperable

Kotlin is fully interoperable with the Java programming language, so you can add as much Kotlin code to your project as you need.

Structured concurrency

Kotlin coroutines simplify asynchronous programming, allowing you to perform common tasks such as network calls and database updates easily and efficiently.