Kotlin has taken the world of Java by storm. It is in fact the default backend language at DripStat.
Kotlin on the JVM has 2 primary selling points:
- Better syntactic sugar than Java
- Completely seamless interop with Java code
The first point is especially relevant to the Android ecosystem which is stuck in Java 6 land. But even for server-side usage, Kotlin offers much better syntactic sugar that Java folks have been longing for decades.
But it would all be for nothing without the second point. Kotlin is 100% seamless with Java code. You can introduce a kotlin file in a Java codebase without disrupting anything.
- Use same language on both backend and frontend
However, all of the above is complicated due to the presence (and popularity) of TypeScript.
For a TypeScript user, the syntactic sugar part of Kotlin doesn't have enough to offer to make the switch.
TypeScript's solution was to get library developers to write additional type definition files. Even after many years the type definitions continue to break/mismatch across library and typescript versions. It is unlikely those authors will now write another set of type definitions for Kotlin.
Use same language on both backend and frontend