Kotlin 整体的发展速度还是让不少开发者为之兴奋。同时鉴于 JetBrains 和Google 的大力支持,以及开发者社区的热捧,我们也相信它会越来越流行。但如今主要的问题是,它在未来是否会成功地入主 Android 以外的应用?
如今 JetBrains 正在大肆推动 Kotlin 的多平台应用,它是否会得到大家的认可也仍未可知。但是想要它成为 Web、iOS 以及后端开发者新的标准,想必也还需要数年的时间来扩展。根据调查报告显示,越多越多的开发者迈出了 Kotlin 编程的第一步,也可以在面向对象、函数、脚本之间穿梭。这就足以说明,Kotlin 正在渗入到整个开发的生态系统中。
- 《The State of Kotlin 2018》:https://pusher.com/state-of-kotlin
More than half of our respondents have been working as developers for less than 5 years.
They seem to have slightly less work experience than the people who took the * survey. Yet, the trusted old math of "the developer population doubling every 5 years" still holds.
The number of people writing Kotlin in organizations varies greatly.
About a third says they have 2-5 people working with Kotlin in their company. This roughly matches the average size of a team developing Android apps.
02. A success story in the making
Kotlin’s growth has been doubling each year until 2015, when the first massive spike in its usage happened.
Early that year, Jake Wharton released the documentadvocating Kotlin’s adoption at Square. They are known for creating some of the most popular open source libraries for Android.
As a result, a lot of people followed suit that year, giving talks and writing blog posts about Kotlin.
Adoption absolutely exploded after May 2017.
Google announced that Kotlin was officially supported for Android and a massive number of Android developers started using Kotlin.
This will likely boost Kotlin’s adoption for years to come. Check out the clip for the huge applause.
Students and young devs trust Google’s flair.
In its early days Kotlin was being picked up mostly by experienced and professional developers, but since the announcement its usage has exploded with newer developers, especially students.
Kotlin appeals to developers from varied backgrounds.
Although Java clearly dominates the playing field, our respondents work with many other programming languages. However, a handful of respondents adopted Kotlin as their very first language!
The official website is by far the most popular resource for learning Kotlin.
Students, however, tend to favor courses on YouTube and Udemy, as well as various conference talks and demos.
These websites will likely be joined by streaming and live coding services such as Twitch in the next few years.
Android is Kotlin's killer app
Android is hugely ️ across the board - used by professional developers and students alike. However, when it comes to backend applications, Kotlin’s users tend to be experienced developers.
Everyone has their favorites
Null safety is a favorite feature for everyone who ever had a NullPointerException in Java - i.e. every Android developer .
4% of diehard Star Wars fans selected “First Order Functions” from the questionnaire — a little “easter egg” that slipped in when The Last Jedi was playing in theatres…
Extension functions are used across the board.
As confirmed by 77% of respondents, extension functions tend to make code more readable, especially when used in a functional programming context or when creating DSLs. The more experienced the respondent, the more likely they are to use them.
...
JetBrains and Android tooling dominates the build tools of the Kotlinverse.
They sit alongside Gradle - the default option for Android projects. The standalone compiler KotlinC barely made the list.
Similar to coroutines, DSLs aren’t being widely used yet, as they are seen as a more advanced topic.
About 40% of respondents have used a DSL, and out of those people, a quarter developed DSLs themselves
When asked what kind of DSLs they built, over half of the respondents answered highly specific DSLs - for finance, big data, and other fields. Other often mentioned DSLs include helpers specific to Android, and configuration tools.
#Kotlin2019 and beyond
Kotlin's rapid growth is nothing short of exciting. But can it fulfill all its promises?
Given all the support by both JetBrains and Google, and the almost universal love that Kotlin receives in the developer community, we are sure that the language is not going anywhere. The main question is: will it manage to seriously break into the communities outside of Android?
JetBrains is heavily pushing the multi-platform dream, but will it see sufficient adoption in the following months and years? Will Kotlin become the new standard for web, iOS, or backend developers?
Regardless of this, even if it takes years to expand beyond the world of Android, we’ll still see new generations of developers taking their first steps into programming with Kotlin. They will have a modern, versatile, cross-platform language at their disposal. One that can cross between OO, functional, scripting, and declarative paradigms with ease.
This could mean that Kotlin will affect the wider programming language landscape by becoming a benchmark for what a programming language should be able to do.
One thing is for sure: there are exciting times ahead for the Kotlin ecosystem.
What are your opinions or thoughts? Either on the future of Kotlin itself, or this survey? Either drop us an email at stateofkotlin@pusher.com, or use the #StateOfKotlin hashtag on Twitter.
Kotlin从2011年低调问世,在短短几年间,如冲天火箭般流行起来。一年前,谷歌宣布将Kotlin指定为Android官方编程语言;来自Stack Overflow的一项问卷调查显示,超过10万名受调者表示Kotlin是他们的第二大编程语言。英国软件公司Pusher对此感到非常好奇,究竟Kotlin有什么特别的地方,让开发者如此着迷。于是,Pusher公司发起了一项针对Kotlin生态系统的问卷调查,从2018年1月份至3月份,为期三个月,受调者达到2744名。就是这份问卷调查的结果及其简要分析。
2019年的Kotlin将会怎样发展?
Kotlin的快速增长让人兴奋不已,但它是否真的像看起来的那么有前途?
因为有JetBrains和谷歌作为后盾,以及在开发者社区中广泛流行,我们可以确信,Kotlin会一路走好。但关键的问题是:它是否能够突破Android,进入到其他的领域?
JetBrains在极力推动它的多平台梦,但在未来几个月或者几年内是否能够看到令人欣喜的增长?Kotlin会成为Web、iOS或者后端开发者的新标准吗?
不管怎样,即使它需要几年时间才能跨出Android的藩篱,我们仍然会看到新的开发者加入到Kotlin的行列。他们的工具箱里将会多出一门万能的跨平台编程语言,这门语言涵盖了面向对象编程、函数式编程、脚本编程、声明式编程。这意味着Kotlin将会在编程语言领域产生重要影响,成为编程语言的标杆。
有一件事情是可以肯定的:Kotlin生态圈的发展让人拭目以待。
Kotlin 开发者社区
国内第一Kotlin 开发者社区公众号,主要分享、交流 Kotlin 编程语言、Spring Boot、Android、React.js/Node.js、函数式编程、编程思想等相关主题。