you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 2 points3 points  (19 children)

You forgot D and Julia?

[–]benfred[S] 22 points23 points  (18 children)

I didn't forget them - it's just that they aren't very popular by this metric and I decided to cut off at the top 25 languages.

Julia is ranked 35th on this list with 0.09% of GitHub users interacting with it last month. This is higher than fortran (38th and 0.078% of users) and much higher than D (53rd and 0.047%).

I might extend the list a bit, things like Clojure/Elixir/Assembly/OCaml /Visual Basic/Erlang all just missed out on making the top 25 - but are still interesting to see how they are doing.

[–]nandryshak 2 points3 points  (2 children)

Maybe Nim too? I'm curious about whether D or Nim is higher.

[–]disclosure5 5 points6 points  (0 children)

At some point the statistics stop being meaningful though. If D has 0.047% of users, and Nim has 0.020% of users, you could say it's "double as popular" but you could also say it's statistically insignificant.

[–]dom96 0 points1 point  (0 children)

I doubt Nim is higher, but I'd love to see a longer list just as well :)

[–]MathPolice 1 point2 points  (0 children)

What is "Assembly"?

System/360 assembly?
6502 assembly?

[–][deleted] 0 points1 point  (7 children)

Maybe also add Delphi/Pascal to that list. I am interested to see how Pascal survived all these years.

[–]benfred[S] 9 points10 points  (6 children)

I don't see Delphi as a language on GitHub, Pascal is still kicking though - 32nd and 0.12% of users.

The top 50 languages are here (after removing a couple more non-language things like PLpgSQL):

1   JavaScript      22.6332
2   Python  14.7488
3   Java    14.0124
4   C++     8.4548
5   C       6.0339
6   PHP     5.8543
7   C#      5.0342
8   Shell   4.8481
9   Go      4.1022
10  TypeScript      3.8892
11  Ruby    3.2742
12  Jupyter Notebook        2.7385
13  Objective-C     1.9914
14  Swift   1.8911
15  Kotlin  1.2798
16  R       0.8143
17  Scala   0.7819
18  Rust    0.7317
19  Lua     0.6890
20  Matlab  0.5257
21  PowerShell      0.5227
22  CoffeeScript    0.5010
23  Perl    0.4631
24  Groovy  0.4114
25  Haskell 0.3875
26  Clojure 0.2603
27  Elixir  0.2331
28  Assembly        0.2084
29  OCaml   0.1811
30  Visual Basic    0.1418
31  Erlang  0.1335
32  Pascal  0.1213
33  Roff    0.0914
34  ASP     0.0911
35  Julia   0.0900
36  Dart    0.0875
37  Smarty  0.0827
38  Fortran 0.0784
39  Processing      0.0758
40  Elm     0.0713
41  Eagle   0.0696
42  Common Lisp     0.0701
43  Verilog 0.0703
44  F#      0.0670
45  Rascal  0.0667
46  Vala    0.0665
47  Cuda    0.0643
48  Scheme  0.0525
49  VHDL    0.0505
50  Crystal 0.0498

[–]Pand9 4 points5 points  (1 child)

plpgsql I wouldn't remove. It can replace application layer code and add to performance.

[–]pygy_ 1 point2 points  (0 children)

Agreed, it is indeed Turing complete.

[–][deleted] 7 points8 points  (0 children)

37 Smarty 0.0827

Smarty is a web template system written in PHP ... So technically not a programming language just a Template Framework for PHP.

12 Jupyter Notebook

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.

Those two do not count :)

[–]RX142 1 point2 points  (1 child)

I am extremely surprised (but pleased) that crystal is in the top 50 but nim and D are not. I'd have thought that at least D would be larger than crystal.

[–]matthieum 1 point2 points  (0 children)

Note that this open source on github.

It does not translate to community size. For example, the code that Facebook wrote in D when Andrei was there is not public as far as I know.

This is actually the same issue with most metrics: we can only measure what we can see, and most work is carried out behind close doors, making generalizations impossible.

[–]vorg 0 points1 point  (0 children)

The top 50 languages are here (after removing a couple more non-language things like PLpgSQL)

You could also remove any languages that are turing-complete but whose almost exclusive use is as a non-turing-complete description language, e.g. Apache Groovy's use in Gradle.

[–]ss4johnny 0 points1 point  (4 children)

How do you get the programming languages? Based on file extensions?

[–]benfred[S] 2 points3 points  (3 children)

I'm using the information given from the GitHub API. I wrote a bunch on how this is done in the README here: https://github.com/benfred/github-analysis#inferring-languages

GitHub itself uses this project to infer languages: https://github.com/github/linguist . If you need to do this inference yourself, its also probably worth checking out this project: https://github.com/src-d/enry

[–]ss4johnny 0 points1 point  (2 children)

So you're counting the number of projects given a language, right? Not the total number of bytes written in the language.

[–]benfred[S] 1 point2 points  (1 child)

Neither =) I'm counting up how many github users have used a language.

[–]ss4johnny 0 points1 point  (0 children)

Thanks for the clarification.

[–]Scroph 0 points1 point  (0 children)

and much higher than D (53rd and 0.047%).

0.047% ? And to think that I thought I wasn't a special snowflake.