DEV Community

Discussion on: Scala, Kotlin, or Grovvy? Which Programming language Java Developers Should Learn?

 
jillesvangurp profile image
Jilles van Gurp

Sure, those kind of environments are a bit slower to adjust. Unless you want to work in such an environment, you might want to look at what they will be doing in five years; which I'm betting will be mostly Kotlin because it is a drop in replacement on all of their Java stuff now already.

Short term having a Java background will help you understand Kotlin. But I have a suspicion that the JVM as a runtime will become less important as the native compiler and cross platform libraries mature.

Thread Thread
 
lemuelogbunude profile image
Lemuel Ogbunude

Sure Kotlin is cool but as Paul has stated, a lot of Java developers would just add it as part of their Arsenal. I have spoken to other Java developer, especially those who had already experienced the "shiny" Kotlin features on other languages such as Scala and the rest, they are not necessarily as excited about Kotlin as Android developers.

Kotlin's major market is Android and the issue with Android isn't Java, but that the developers are stuck with Java 7-ish features.

The companies using Java should focus on trying to use the latest Java features, it's very likely those companies are using Java 8 or even Java 7. They could upgrade to the LTS JDK 11 and use the latest features instead of migrating to a new language. I feel it's not a necessary action.

In the next five years, Java would still be kicking and kicking even harder, it's great to have additional Languages like Kotlin and Scala in the JVM, these languages have the luxury to try out features and see if it works, Java learns from their experiments, Java does not have that luxury because of the number of systems depending on it, the stewards of Java have to make sure a feature is needed before adding it... and a lot of very cool features are on their way.

I see the JVM languages as an awesome team rather than competitors.

Thread Thread
 
jillesvangurp profile image
Jilles van Gurp

You are wrong on that it is an Android only thing. I use it on the backend. Lots of Java backend frameworks are moving towards either supporting/recommending Kotlin or even porting to it. E.g. okhttp just released a fully backwards compatible v4 that has been completely ported from Java to Kotlin. Spring is recommending Kotlin over Java and optimizing their frameworks for Kotlin. Spring probably represents about half of the industry; particularly enterprise/fintech setups.

If you are planning to do work involving Spring 5.2 and up, you should be planning to move to Kotlin as they are adding co-routine support in Spring 5.2 and it makes the flux/reactive mess they released a while back a lot more user friendly. IMHO any new Spring Kotlin project will be much more likely to use Kotlin than Java very soon. Any new project that isn't is doing it wrong.