54

100 Most Popular Languages on GitHub in 2019

 5 years ago
source link: https://www.tuicool.com/articles/hit/IrQzUbA
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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 usingJavaScript, ‘JSON.stringify’ can be used.

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

y67Jnym.png!web

MvUVvyA.png!web

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#
  • Jupyter Notebook

m6nuIfV.png!web

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

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

uQjiuqf.png!web

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

  • HTML
  • CSS
  • TypeScript

baaQzue.png!web

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

  • C++
  • Ruby
  • Scala
  • Rust

ZZ3iq2E.png!web

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 whichweb 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 :stuck_out_tongue_winking_eye:

Happy coding in these 100 most popular languages on GitHub!

UjUrayj.jpg!web

Piotr Sroczkowski

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK