The State of the Octoverse: top programming languages of 2018

This article is part of a series based on our 2018 State of the Octoverse report—trends and insights into GitHub activity, the open source community, and more from the GitHub Data Science Team.

At the core of every technology on GitHub is a programming language. In this year’s Octoverse report, we published a brief analysis of which ones were best represented or trending on GitHub. In this post, we’ll take a deeper dive into why—and where—top programming languages are popular.

There are dozens of ways to measure the popularity of a programming language. In our report, we used the number of unique contributors to public and private repositories tagged with the appropriate primary language. We also used the number of repositories created and tagged with the appropriate primary language.

Today, there are more repositories created in JavaScript than in any other language. Repositories created have been rising steadily for the last decade—and you’ll see a steady uptick after 2011. At this point, GitHub was approaching nearly 1 million repositories total, and new JavaScript servers like Node.js (launched in 2009) were making it possible for developers to use the same code for the client and the server.

Top programming languages by contributor as of September 30, 2018

JavaScript also tops our list for the language with the most contributors in public and private repositories. This is true for organizations of all sizes in every region of the world. However, we’ve also seen the rise of new languages on GitHub. TypeScript entered the top 10 programming languages for public, private, and open source repositories across all regions last year. And projects like DefinitelyTyped help people use common JavaScript libraries with TypeScript, encouraging its adoption.

We’ve also seen some languages decline in popularity. Ruby has dropped in rankings over the last few years. While the number of contributors coding in Ruby is still on the rise, other languages like JavaScript and Python have grown faster. New projects are less likely to be written in Ruby, especially projects owned by individual users or small organizations, and much more likely to be written in JavaScript, Java, or Python.

Geographic trends in languages by contributor as of September 30, 2018

In the last 12 months, we haven’t seen much variation in language usage across regions. However, TypeScript is higher ranked in South America and Africa than in North America and Europe. This might be because developer communities in Africa and South America are relatively newer. The repositories that were contributed to in Africa and South America in the last year are, on average, younger than repositories in North America and Europe. And perhaps this means they’re more likely to focus on newer developer technologies.

Fastest growing languages by contributors as of September 30, 2018

PowerShell, used in many projects owned by larger companies, is climbing our list. Similarly, Go, which has been on our lists for larger organizations, continues to grow across repository type: it’s #9 this year for open source repositories, too. We’re also seeing trends toward more statically-typed languages focused on thread safety and interoperability: Kotlin, TypeScript, and Rust are growing fast.

So what makes a programming language popular in 2018? Here’s what we think.

Thread safety

With the exception of Python, we’ve seen a rise in static typing, likely because of the security and efficiency it offers individual developers and teams working on larger applications. TypeScript’s optional static typing adds an element of safety, and Kotlin, in particular, offers greater interactivity, all while creating trustworthy, thread-safe programs.

Interoperability

Part of the reason TypeScript has climbed our rankings is because of its ability to coexist and integrate with JavaScript. Rust and Kotlin are also on the rise, both of which find built-in audiences in JavaScript and Java, respectively. Python’s versatility and interoperability are also impressive; for example, developers can directly call Python APIs from Swift.

Interoperability doesn’t only imply that languages have a pre-existing community to use and build on them. It also means that they can transcend and intermingle with different communities. For example, Kotlin was acknowledged as a first-class citizen on the Android platform last year.

Open source

And, of course, these languages are also open source projects, actively maintained on GitHub. Communities that evolve, answer questions, and create resources for newer languages like Kotlin can help developers start and continue working with them in 2018 and beyond.

Are you as excited about data as we are? Check out other posts from our State of the Octoverse series on trending regions and repositories. Or tune into the GitHub Blog for more insights from our Data Science Team.