article banner (priority)

Is Kotlin a savior of Java?

This is a text-version of the video we published on YouTube.

img.png

img_1.png
It is 2026, and Java is slowly dying. Of course, it is still one of the most popular languages, but its popularity has declined, and from an unquestionable number 1 position in the early two thousand, it now ranks from third to fifth on most rankings, sometimes below both JavaScript and TypeScript.
However, a couple of years ago, something changed. Until then, Java crearly haven’t feared its JVM competitors, like Scala or Groovy. Its releases were rare, and changes were minimal. Java developers were experts at overriding functions like equals or toString, handling nullability, and knowing when to use == and where to call equals.

img_3.png
Kotlin quickly gained popularity. It replaced Java as the language for Android development, took the top position in developer satisfaction surveys, and began replacing Java in more and more companies. Today, many large companies, including Google, Bolt, and Amazon, have decided to migrate their backend services from Java to Kotlin. To my surprise, even many popular Java SDKs or libraries are now written in Kotlin. Check out OpenAI Java SDK or Anthropic Java SDK. Contrary to their names, both are written entirely in Kotlin.
Why? Developers enjoy writing in Kotlin much more, and Kotlin provides the same performance and APIs as Java. Kotlin is fully interoperable with Java, and, as a bonus, it is also interoperable with JavaScript and native code, so code written in Kotlin can be used in all of them. Kotlin has its own set of tools, such as coroutines and Jetpack Compose, which is a new multiplatform UI development framework that already dominates Android and is gaining popularity on iOS, desktop, and the web.
Does it mean that Java is doomed? Not necessarily. In 2017, Java noticed Kotlin’s growth and finally began to change. Since then, a new version has been released twice a year and has started introducing features similar to those in Kotlin.
It introduced records, improved switch-case and smart-casting, and released its own coroutines and structured concurrency. Those were limited versions of features we have in Kotlin: data classes, when-statements, smart casting, and Kotlin coroutines.

img_4.png
Nevertheless, the Java community greeted those new features with great enthusiasm. After years of stagnation, Java finally started improving. It is still far away from Kotlin, but at least it is catching up. This gave the Java community new energy. After years of “Java is dead” headlines, we can finally see enthusiasm and optimism in the Java community. This is important because Kotlin isn’t Java's main competitor.
Java's main competitors are JavaScript and Python, which, contrary to what most Java developers think, are much more modern languages. Consider a simple feature: named and optional parameters, which are extremely useful and widely used in JavaScript, Python, and Kotlin, but not supported in Java. In Java, developers still define telescoping functions or constructors. However, I believe it will finally change soon, and it is because Kotlin already proved it can be done on the JVM and that developers love it.
Kotlin is actually the greatest savior of Java. He woke it up and motivated it to finally change. It shows how pleasant JVM development can be, because, as I like to say, “Kotlin is what Java could have been if it made hard decisions, and followed modern trends”.