Kotlin
Mobile· alive, actively evolving· since 2011 · Andrey Breslav · JetBrains
Statically typed language for JVM and Android apps that compiles alongside existing Java code.
Draft from 2026-10-30, not yet checked claim by claim against its sources. Help verify it.
Born from
In July 2011 JetBrains said that none of the existing JVM languages met its needs. Its development lead, Dmitry Jemerov, said that Scala has the right features but its most obvious deficiency is very slow compilation, so the new language had to be Java-compatible, more concise than Java and safer against null pointer errors.
What it trades away
Cost: It runs on the JVM and inherits Java's startup time and memory footprint, which weighs most on short-lived scripts and small tools.
Where it fits
| Slot | Fit | |
|---|---|---|
| mobile | ●●● | Google recommends starting new Android apps in Kotlin. |
| server | ●●○ | Spring Boot supports Kotlin and requires Kotlin 2.2 or later. |
| systems | ●○○ | |
| embedded | ○○○ | Kotlin targets the JVM, Android and native platforms, not microcontrollers. |
Why it exists
In July 2011 JetBrains introduced Kotlin, a new language for the JVM, after concluding that “none of them meet our needs” among the existing JVM languages (InfoWorld). Scala had the features JetBrains wanted, but its development lead, Dmitry Jemerov, said its most obvious deficiency was very slow compilation. The published goals put Java compatibility first, then safety against null pointer errors and more concise code than Java (InfoQ).
What it trades away
Kotlin inherits the JVM. It compiles to the same bytecode as Java, so it starts on the same virtual machine and pays the same startup and memory costs, which matter most for short-lived scripts and small tools. The Java compatibility goal is the design choice behind this: Kotlin keeps working with Java libraries and Java conventions instead of starting from a clean slate (InfoQ). A team gets that interoperability in exchange for the JVM’s runtime model.
Where it won
Android is the big win. Google’s developer guide recommends starting new Android apps with Kotlin (Android developers), and Google reported in May 2019 that over half of professional Android developers used it (Android Developers Blog). Gradle made the Kotlin DSL the default for new builds in April 2023 (Gradle blog). On the server, Spring Boot supports Kotlin on the same JVM stack as Java and requires Kotlin 2.2 or later (Spring Boot docs).
Named wins
- Android, where Google's developer guide recommends starting new apps in Kotlin source
- Android, where over half of professional developers used Kotlin by May 2019 source
- Gradle, which made the Kotlin DSL the default for new builds in 2023 source
- Spring Boot, which supports Kotlin on the same JVM stack as Java source
Evolution
Reacts to: Java, scala
Weigh it against: Java, Swift, Dart, scala
Timeline
- 2011JetBrains introduces Kotlin in July as a new language for the JVM source
- 2016Kotlin 1.0 ships as the first stable release, with backward compatibility promised source
- 2017Google adds Kotlin as an officially supported language for Android at I/O source
- 2019Google makes Android development Kotlin-first in its May 2019 announcement source
- 2023Gradle makes the Kotlin DSL the default choice for new builds source
Links
Sources
- https://www.infoworld.com/article/2183154/jetbrains-readies-jvm-language-kotlin.html
- https://www.infoq.com/news/2011/07/kotlin/
- https://www.infoq.com/news/2016/02/jetbrains-kotlin-1/
- https://www.infoq.com/news/2017/05/android-kotlin
- https://developer.android.com/kotlin/first
- https://android-developers.googleblog.com/2019/05/google-io-2019-empowering-developers-to-build-experiences-on-Android-Play.html
- https://blog.gradle.org/kotlin-dsl-is-now-the-default-for-new-gradle-builds
- https://docs.spring.io/spring-boot/reference/features/kotlin.html
- https://pldb.io/concepts/kotlin.html
Unverified draft, 2026-10-30.Edit the facts · edit the story · JSON · Markdown