I am personally sold on using Kotlin over Java. We are doing REST API development currently in Java using TomEE 7.0.2, JAX-RS, etc.
We already have a few things in Kotlin now, including Akka and Kafka, but our whole team is not yet onboard. One developer on my team seems to be against for various reasons, some including “well if we go Kotlin why not just Scala since Kotlin just copied most of Scala”. He seems to forget or not understand that moving to Scala also includes a bunch of other stuff like sbt, play framework, so all new tools and framework, whereas with Kotlin, we keep the same container app server, shared libraries, Java EE, etc just a better language.
I’m not sure how to do a better job at convincing my team and bringing the others along. We have architects who are questioning why we would build new microservices in Kotlin instead of just java (they also happen to be Scala developers so slightly bias).
I’m becoming frustrated. I am the dev lead, so this is a great leadership opportunity but a hard one.
Some arguments that come up are on “who is JetBrains” and that Kotlin is brand new and just released in February (I’ve tried to explain the google-like beta for five years to no avail). This same developer claims there is no Kotlin community. Looking at Tiobe index, Scala is like #36, Kotlin is not on the list.
Has anyone else successfully navigated these waters?
Another argument is “well when we do a search for akka, we will find results for java or scala, and now I have to context switch to figure out how to do it in kotlin”. Or learning curves associated with quirks or ways of doing things in kotlin. To me its no big deal, but hard to explain. Learning any new language comes with learning curves, I argue that I was able to pick up Kotlin and rewrite one of our APIs in a weekend. After a weekend trying Scala I never even got a working test endpoint.
Another troubling thing is the confusion and mixing of arguments of java-vs-kotlin, and then kotlin-vs-scala.