Is Java catching up with Kotlin?

There’s a problem here. Language development is not packing features over features. Kotlin is arguably already very rich, I really hope it won’t end as C#, with basically everything thrown inside the language, making it complicated, and making it difficult for people to understand what another programmer wrote.

Java won’t ever “catch up” with Kotlin for a simple reason: legacy. Java needs to guarantee that (most of) valid Java 5 and previous code still is valid code for Java 14 and future. This imposes several limits on how the language can be improved.

I believe Kotlin should focus on strengthening the toolchain (Dokka does not work well with Java 11, for instance) and multiplatform support. Make what’s there work as solidly as possible.
Language-wise, there are a number of small enhancements that I believe are way more urgent than new language features.

6 Likes