More chapters are coming!Notify me
A few weeks ago I googled ‘100 most popular languages on GitHub‘ 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
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.
The third issue concerned the entire GitHub, that once went down but for less than one minute.
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:
- programming language created by IBM – it uses .e file extension, e.g.:
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:
- Jupyter Notebook
2. Languages with relatively few repos and few stars or many repos and many stars:
- Vim script
3. Languages with many repos and few stars, few repos and many stars, and many repos and very many stars:
4. Languages with relatively few repos and few stars, many repos and many stars, and few repos and very many stars:
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.
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!
Liked this chapter?
Awesome! We’ll be adding new content on this topic soon. Want to be notified?