Kotlin, the Java based language that titles itself as "The Statically typed programming language for modern multiplatform applications" is alive and kicking as revealed in a new report from Pusher who says there is "exponential growth in Kotlin adoption."
Kotlin originated at JetBrains, the company behind IntelliJ IDEA, in 2010, and has been open source since 2012. The Kotlin team currently has more than 20 full-time members from JetBrains, and the Kotlin project on GitHub has about 100 contributors. JetBrains uses Kotlin in many of its products including its flagship IntelliJ IDEA.
Pusher - collaboration and communication API provider, surved 2,744 developers to gain insight into Kotlin's overall adoption & usage rate, which they revealed in a new study named "The State of Kotlin 2018". The report highlights some of the recent successes of the language and provided some statistical data points on who's using it and why.
Here's what we know. The overwhelming majority of users who currently use the language are employed in tech, nearly 75%. And of those who use the language, a third of respondents said that they had between 2-5 years of experience in development. Furthermore, most come from a Java programming langage background already.
* Kotlin usage graph since its inception
The language has enjoyed a large surge in growth over the last year with nearly half of the overall Kotlin use being in 2017. Much of this growth can be attributed to the high levels of adoption among students within 2017 which saw nearly 3 times as many students as 2016.
* A graph of all the most popular ways Kotlin is used
Android projects dominate the overall way that Kotlin is used totaling nearly 80% of all projects. Where as usage in the backend and SDK trail both with about 30% of the project usage statistic.
In addition, the report also addreses user's favorite features of the language which include Null safety, extension functions, and Java interoperability.
We reached out to Zan Markan, Developer Evangelist at Pusher, who led this project, to ask a few pointed questions and collect a bit more insight into the Kotlin atmosphere:
Markan: I’m confident in Kotlin’s dominance in Android in the not-so-distant future.
We’ve seen that with Swift when Apple announced it 4 years ago. I believe few of the new iOS apps are still being written in Objective-C lately.
Kotlin and Swift are actually remarkably similar - not just in that they look and feel as modern programming languages, but also that they are being created and supported by well-known technology companies, and lastly - primarily used on their respective mobile platforms - swift on iOS, and Kotlin on Android.
Finally, there is the promise of multi-platform support for Kotlin projects, that JetBrains people are currently working on. We’ve already seen some interesting ideas out there for projects that share the Kotlin business logic that is reused across the server, Android, iOS, and the web, and that’s something really promising.
Markan: The language, although quick to get set up and started with, can be difficult to master.
It features advanced constructs that won’t be close to more junior developers, and can seem to invite some of the more “crazy development practices” - allowing you to go overboard with features such as extension functions, overloading operators that can result in some questionable DSLs (some of which I’ve covered in one of my talks, actually).
If we’re not careful as a community then Kotlin might appear as more exclusive as it really is.
Another drawback might be with the tooling and content available for it - having been around for way shorter time than Java, some of the tooling just isn’t there yet. I’m sure that will improve over time, but for now, this might be an issue.
Markan: I believe Kotlin will continue to grow in popularity in the foreseeable future. The whole ecosystem of the language itself, resources, content, and tooling is evolving rapidly, and more and more developers are buying into it.
We’ll also see the language consolidating, and a set of best practices to emerge that will make it easier to grasp for newer developers.
In the long term, when more newer developers pick up Kotlin as their first programming language, we might see it affecting their views of other programming languages quite drastically.
They will learn to expect Kotlin’s advanced features as standard in other programming languages, such as the ability to shift between object-oriented, functional, declarative, and scripting paradigms with relative ease. That in turn, I believe will affect the entire programming language ecosystem as a whole.
There are some obvious things about Kotlin that are easy to love, such as the automatic conversion of Java to Kotlin, null safety, and unchecked exceptions. But with the good comes the bad, like no namespaces, no static modifier, and the automatic conversion of Java to Kotlin (because it typically only works well 80% of the time).
But all of that aside, the report points out that many developers are using it daily, and since the Google I/O in 2017, it's adoption continues to spread - especially by young Android developers with a Java background already.
3003 East Chestnut Expy
Springfield, Mo 65802