The choice of programming language matters deeply to developers because they want to keep their skills up-to-date and marketable. Programming Languages are a beloved subject of debate and the kernels of some of the strongest developer communities. They matter to toolmakers too, because they want to make sure they provide the most useful SDKs.
It can be hard to assess how widely used a programming language is. The indices available from players like Tiobe, Redmonk, Stack Overflow’s yearly survey, or GitHub’s State of the Octoverse are great, but offer mostly relative comparisons between languages, providing no sense of the absolute size of each community. They may also be biased geographically or skewed towards certain fields of software development or open-source developers.
The estimates we present here look at active software developers using each programming language; across the globe and all kinds of programmers. They are based on two pieces of data. First is our independent estimate of the global number of software developers, which we published for the first time in 2017. We estimate that, as of Q3 2022, there are 33.6 million active software developers worldwide.
Second is our large-scale, low-bias surveys which reach tens of thousands of developers every six months. In these surveys, we have consistently asked developers about their use of programming languages across 13 areas of development, giving us rich and reliable information about who uses each language and in which context.
In 2020, Python overtook Java as the second most widely used language and now counts nearly 17M developers in its community. Python has continued to show strong growth, having added about 8M net new developers over the last two years. The rise of data science and machine learning (ML) is a clear factor in Python’s growing popularity. To put this into perspective, about 63% of ML developers and data scientists report using Python. In comparison, less than 15% use R, the other language often associated with data science.
Java is one of the most important general-purpose languages and the cornerstone of the Android app ecosystem. Although it has been around for over two decades, it continues to experience strong growth. In the last two years, Java has almost doubled the size of its community, from 8.3M to 16.5M. For perspective, the global developer population grew about half as fast over the same period. Within the last year alone, Java has added 6.3M developers, the largest absolute growth of any language community. Our data suggest that Java’s growth is supported not only by the usual suspects, i.e. backend and mobile development but also by its rising adoption in AR/VR projects, likely due to Android’s popularity as an AV/VR platform.
C and C++ are core languages in embedded and IoT projects, for both on-device and application-level coding, but also in mobile and desktop development, which are sectors that attract 17.7M and 15.6M developers respectively. C#, on the other hand, has maintained its popularity among multiple different areas of software development, particularly among desktop and game developers. C/C++ added 4.3M net new developers in the last year and C# added 2.8M over the same period.
Rust and Kotlin continue their rise in popularity
We have previously identified Rust and Kotlin as two of the fastest-growing language communities and this continues to be the case. Rust has more than tripled in size in the past two years, from just 0.8M developers in Q3 2020 to 2.8M in Q3 2022. Rust has added 0.7M developers in the last six months alone and is close to overtaking Objective C to become the 11th largest language community. Rust has formed a strong community of developers who care about performance, memory safety, and security. As a result, it has seen increased adoption in IoT software projects, but also in desktop and game development, where Rust is desired for its ability to build fast and scalable projects.
Kotlin has also seen a large growth in the last two years, more than doubling in size from 2.3M in Q3 2020 to 6.1M in Q3 2022. As such, it went from the ninth to the seventh largest language community during this time, overtaking Swift and those using visual development tools. This growth can largely be attributed to Google’s decision in 2019 to make Kotlin its preferred language for Android development it is currently used by a fifth of mobile developers and is the second most popular language for mobile development. Despite Google’s preference for Kotlin, the inertia of Java means that, after three years, it is still the most popular language for mobile development.
Swift currently counts 4.2M developers and is the default language for development across all Apple platforms. This has led to a phase-out of Objective C (3M) from the Apple app ecosystem. However, Objective C has maintained its place among IoT developers and increasing adoption for on-device code, and AR/VR developers, leading to a similar increase in the number of Swift and Objective C developers in the last two years; 1.8M and 1.6M respectively.
The more niche languages – Go, Ruby, Dart, and Lua – are still much smaller, with less than 4M active developers each. Go and Ruby are important languages in backend development, but Go is the third fastest-growing language community and has added more than twice as many developers as Ruby in the last two years; 2.3M and 1.0M new developers, respectively. This is likely due to the fast development cycle it offers even though it is a compiled language.
Dart has seen steady growth in the last two years, predominantly due to the increasing adoption of the Flutter framework in mobile development, with 13% of mobile developers currently using Google’s language. Finally, Lua is among the fastest-growing language communities, mainly drawing in IoT, game, and AR/VR developers looking for a scripting alternative to low-level programming languages such as C and C++.