Kotlin and Java go well together, report shows
Kotlin is only seven years old but it is already playing in the big leagues. Its massive success can be traced back to the moment when Google announced Kotlin support in Android last year but that was just the tip of the iceberg. According to Pusher’s State of Kotlin 2018 research report, great things are coming Kotlin’s way.
Say yes to Kotlin
The latest edition of the biannual Technology Radar from ThoughtWorks was released a couple of months ago and highlighted what most of us already know: you absolutely need to adopt Kotlin and Kubernetes but generic cloud usage should be avoided at all costs. Let’s focus on Kotlin, shall we?
This young programming language was among the few superstars on the “adopt” list, along with AssertJ, a Java library which promises to simplify the writing of assert statements in tests and Enzyme, which has become “the defacto standard for unit testing React UI components.” Why adopt Kotlin, you ask? For starters, it keeps on rising, according to RedMonk’s latest report and Pusher’s State of Kotlin 2018 research report.
Kotlin was also one of TIOBE’s finalists for “the programming language of 2017” but it lost to C. We still think it should have won; here’s why.
Speaking of Kotlin, our survey results show that this young padawan has stepped up its game and has traded places with Scala. Unlike last year, when Scala occupied the fifth position and Kotlin the sixth, these languages have gone through a “Freaky Friday” type of situation; shooting star Kotlin is officially in the top 5 most interesting programming languages.
Pusher’s State of Kotlin 2018 report: Key findings
Last week, Pusher, the leading communications and collaboration API provider, released the findings of its State of Kotlin 2018 research report. Over 2.700 developers participated in the survey which was carried out earlier this year with the aim to take the pulse of the new Kotlin adoption trend in the developer community. Just a quick fyi, their next survey (slated for 2019) will focus on the tooling ecosystem.
First came the experienced developers, then came Google now students are interested in Kotlin, report results show. Adoption among students has skyrocketed; before last year’s Google I/O, less than 25 percent of students were interested in this programming language but after Google announced Kotlin support in Android, the adoption rate went through the roof.
Kotlin and Java go well together
The Kotlin team participated in a Reddit AMA in December 2017; one of the most discussed topics was the “battle” between Kotlin and Java and if the former could be rendered irrelevant since Java is now stepping up its feature game (like auto type inference, or reified generics with project Valhalla). Kotlin lead language designer Andrey Breslav answered the following:
- The JVM features we can and will pick up as they appear (this applies to Valhalla), so we are only happy when they appear.
If the Java programming language becomes better than Kotlin in every respect, it will be really cool, because the world will benefit so much from it. Before it did, I think it’s still good that it’s making progress now. And competition tends to make you fit. So, I see it as a positive thing.
Also, if any language gets ahead of Kotlin, it means that it tries some features first, and it’s only to our benefit because we can learn from their experience and hopefully make the feature even better (this is what happened to coroutines, for example).
Bottomline: I’m not concerned with any positive progress any language in the world makes. I’m only happy with it :)
Another Redditor added that “there’ve been calls from Java community for backward-incompatible ‘Java 2.0’ many years ago. We finally have it. Kotlin is Java 2.0. The future of Java is Kotlin.”
Since we don’t have a magic 8 ball right now, let’s not jump to conclusions. However, one thing is certain: most Kotlin developers come from a Java background, or also work with Java.
What’s more, report results show that null safety is the most important feature “for everyone who ever had a NullPointerException in Java – i.e. every Android developer”. Meanwhile, coroutines and multi-platform support are considered the least important but this may have something to do with the fact that both projects are still experimental.
Type inference, which made a splash in Java 10, received love from 41.6 percent of respondents while Java interoperability managed to impress 61.4 percent of developers.
Speaking of Java and Kotlin, almost 90 percent of respondents have done migrations using a wizard or rewriting code manually. Only 10 percent of those who migrated entire projects (let’s take a moment to salute their courage!), 22 percent were students or had less than one year experience working as software developers. Coincidence? I think not.
As it turns out, more than a quarter of respondents who migrated Java to Kotlin needed to revert; the reasons are both technical and organizational but, according to the results, “tools that use reflection or generate code have been most often mentioned as technical reasons to revert to Java.
There are other interesting results such as the most used build tools (*cough*Android Studio*cough*) and the ratio of Kotlin in developers’ main codebase so check out all the findings here.