ready to build your app

100 Most Popular Languages on GitHub in 2019

A few weeks ago I googled ‘100 most popular languages on GitHub in 2019‘ and I found nothing relevant, only sites that were outdated, or contained a list of just a few languages. That wasn’t what I was looking for, I needed a more in-depth analysis so I decided to do one myself.

Just for the record, here are a few unsatisfying examples of my Google search results:

  • Data from 2014 which in the software world is quite obsolete:
    https://githut.info/
  • Only 10 most popular languages on GitHub:
    https://www.businessinsider.com/the-10-most-popular-programming-languages-according-to-github-2018-10?IR=T
  • Only 10 languages:
    https://github.blog/2018-11-15-state-of-the-octoverse-top-programming-languages/
  • Only 15 languages:
    https://www.itweb.co.za/content/KPNG8v8dPBpv4mwD
  • Only 25 languages:
    https://www.benfrederickson.com/ranking-programming-languages-by-github-users/
  • Only 20 languages:
    https://stackify.com/popular-programming-languages-2018/
  • Only 23 most popular languages on GitHub:
    http://pypl.github.io/PYPL.html

On the other hand, during my own research I took advantage of the GitHub API, which was quite handy and easy to use.

The code, the tables and the results are available on GitHub here.
Using these scripts, it’s possible to do similar research at any time in the future, assuming GitHub API doesn’t change their interface.

Problems with GitHub API and how I solved them

When doing the research, I stumbled upon some minor problems.

First of all, GitHub API bans a user or IP for about 3 minutes after doing about 20 requests. So I used an authenticated API instead of the public API (the interface is the same but it’s needed to send a user token) because for the authenticated API the limit is a bit larger. Moreover, I implemented automatic waiting until the API is available, so single script running downloaded the data I needed (a single rank of languages) in about an hour.

Second, if a language name contains a space e.g. ‘vim script’, it’s needed to quote (‘”’) its name, when passing to the GitHub API so when doing a request with cURL or Postman, a quote can be inserted manually and when doing a request using JavaScript, ‘JSON.stringify’ can be used.

The third issue concerned the entire GitHub, that once went down but for less than one minute.

Check the script that let us extract a list of the most popular languages on GitHub.

Connect with the GitHub API and extract a list of the most popular languages on GitHub.

Results of the research and my first conclusions

Among the most popular languages on GitHub, Swift is rapidly replacing Objective-C, Typescript popularity is also very rapidly growing, and a bit slower, languages like Vue, Go, Kotlin and C++ are increasing in popularity. On the other hand, languages like Clojure, Scala, Perl, and Java are decreasing in popularity, though Java is still in the top 3 in each ranking.

In the case of Vue, there are two separate concepts:

  • vue file extension – in fact, it’s not a programming language but a mix of HTML, JavaScript, and CSS/Sass, and there is plenty of GitHub repos containing mainly .vue files, e.g.:
https://github.com/wjljan/vue-demo/blob/master/src/components/kPagination.vue
https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/com.ibm.aix.genprogc/probevue_con_scripts.htm

Language comparison tables and analysis

There are many ways to interpret the results of my research. For example, we can compare the most popular languages on GitHub by relative popularity using repo stars number:

1. Languages with many repos but few stars and few repos with many stars:

  • PHP
  • C#
  • R
  • Jupyter Notebook

Comparison of the most popular languages on GitHub.

2. Languages with relatively few repos and few stars or many repos and many stars:

  • Swift
  • Objective-C
  • Python
  • Go
  • Vim script
  • Kotlin

Table with the most popular languages on GitHub.

3. Languages with many repos and few stars, few repos and many stars, and many repos and very many stars:

  • HTML
  • CSS
  • TypeScript

Analysis of the most popular languages on GitHub.

4. Languages with relatively few repos and few stars, many repos and many stars, and few repos and very many stars:

  • C
  • C++
  • Ruby
  • Scala
  • Rust

Trends of the most popular languages on GitHub.

As a bonus, take a look at the most starred repositories for each of the languages which were ranked in the top 20 in any rank.

Summary of the most popular languages on GitHub

I hope you’ve found some useful information in this article and maybe it will make the decision of which web app development language you should learn in 2019 little easier.

Of course, in each ranking, JavaScript is the most popular on GitHub but it’s not designed to do all the programming stuff because sometimes you need a low-level language with decent performance or static typing.

Another time you may need a paradigm which isn’t offered by JS like declarative, logical, mathematical, generic, metaprogramming or visual or is only partially offered by JS like concurrent or even a paradigm supported by JS but whose support is better in other languages.

Moreover, it’s worth noting some of the ranked languages like HTML, CSS, Markdown or XML aren’t truly programming languages because they just let you write down some data or visual style.

However, an interesting tidbit: I heard CSS is Turing complete, so in fact, it’s one of the programming languages, but never try to translate a sophisticated logic from JS to CSS 😜

Happy coding in these 100 most popular languages on GitHub!

Piotr Sroczkowski

Piotr Sroczkowski is a JavaScript Full Stack Developer at Brainhub (a software house building awesome Node.js web and mobile apps).