Can Kotlin really overtake Java as the de facto Android programming language?

A new report says Java only has 14 months left as top dog

Are the days of Java’s rule over Android apps coming to an end?

Google announced official support for the Kotlin programming language in May 2017 at its annual I/O developer conference. The little-known language—developed by software development company JetBrains—was first announced in July 2011 and only reached an official v1.0 release in February 2016. Google’s announcement saw interest in the language skyrocket, and now one firm is claiming it could become the new Java.

A new report from mobile development platform Realm claims that 2018 will be the “year of Kotlin” and the upstart programming language will overtake Java as the de facto language for Android apps as soon as December 2018.

“Java (on Android) is dying,” claims the report. “There aren’t simply more Kotlin builders; they’re also switching their apps to Kotlin. In fact, 20% of apps built with Java before Google I/O are now being built in Kotlin. Kotlin may even change how Java is used on the server, too. … Android developers without Kotlin skills are at risk of being seen as dinosaurs very soon.”

kotlin-1

Kotlin is a statically typed “pragmatic” programming language for the Java Virtual Machine and Android that combines object-oriented and functional programming features. It is available as a fully-supported programming language within Android Studio 3.0. According to the Kotlin website, users include Pinterest, Evernote, Uber, and Atlassian.

“As you can imagine it’s quite nice to hear this from an objective source,” Hadi Hariri, VP of Developer Advocacy at JetBrains, told IDG Connect. “From our side we have seen significant growth in terms of Kotlin during two key events; the release of 1.0 and the announcement at Google I/O. While of course it’s still a bit too early to tell exactly how much it has impacted, all indicators are positive. Whether or not Kotlin will overtake Java is something that only time will tell, but in the context of Realm’s report, which is mainly focusing on Android, it definitely feels like it’s moving in this direction.”

According to the Tiobe index, which lists popularity of programming languages, Kotlin is the 41st most popular language, close to the likes of Erlang, Bash, and Rust. IEEE’s rankings for July do not feature Kotlin in the top 48 languages. Industry analysts RedMonk raked Kotlin 46th on its list, but said there was a “low-key buzz” about it.

“Yes, Kotlin is a language of today and it seems an answer to some of the issues in Java,” said Kevin Curran, senior member of the IEEE and professor of computer science at the University of Ulster. “With Google’s recent show of support, Kotlin now has everything needed to place it as the tool of choice for Android/Chrome development.”

kotlin-2

“Healthy scepticism on Kotlin replacing Java is warranted. As Java has such a huge existing ecosystem it will be hard for a language like Kotlin to suddenly rise and take over in such a short amount of time. It is everywhere as Sun/Oracle always claim. Programmers also get comfortable in their environments, many will not find anything broken with their existing product code. It will take a supersonic language to usurp the norm and it remains to be seen if Kotlin is the Java slayer.”

Go and Swift, the new languages from Google and Apple respectively, have grown in popularity in recent years. In the last five years, both from gone from v1 releases to ranking in the top 20 of almost every ranking of programming language popularity, with Swift often cracking the top 10.

Paul Kopacki, chief marketing officer at Realm, told IDG Connect that mobile developers wanting to work with technology designed specifically for mobile is behind the rise of the popularity of Swift, and the same will be true for Kotlin.

“For Android developers, Kotlin is a breath of fresh air. It was designed with the working mobile developer in mind, and makes their jobs easier because it is a simpler and cleaner language, with high readability and much less code bloat compared to Java. It also delivers the goods in terms of features Android devs have long wanted: extension functions, data classes, null safety, and more. The fact that it works well with existing Java libraries and functions is the icing on the cake; it means adopting Kotlin is easy.”

However, given Kotlin’s current adoption status, not all developers share Realm’s optimism, especially on the claims about the language’s impact on the server side.

“In my opinion, Kotlin will not have a significant role in enterprise development in near future,” said Anton Hrytsenko, Senior Software Developer at software development firm Sigma Software.

“It has a first-class support from JetBrains and Google. These companies have an apparent role in mobile development, but do not have a significant influence on the enterprise development, like, for example, Oracle, Red Hat, Amazon, Microsoft or IBM.”

“The enterprise market is demanding in terms of programming tools, frameworks, practices and so on. In addition, the enterprise market is demanding in terms of skilled developers. Therefore, any new language should provide certain benefits in terms of ecosystem or development. Kotlin does not bring any solutions for the enterprise development, and therefore investment looks risky from both a technical and business point of view.”

“The enterprise development is quite conservative because of significant size and long-life cycle of enterprise systems. Therefore, a new language should take a long way to ensure its suitability. For Scala, this took more than 10 years. Nevertheless, Scala is still a niche language. From this point of view, Kotlin is just on the start line.”

This story, "Can Kotlin really overtake Java as the de facto Android programming language?" was originally published by IDG Connect.

Copyright © 2017 IDG Communications, Inc.

InfoWorld Technology of the Year Awards 2023. Now open for entries!