Hacker News new | past | comments | ask | show | jobs | submit login
The RedMonk Programming Language Rankings: January 2023 (redmonk.com)
59 points by clairegiordano on May 16, 2023 | hide | past | favorite | 26 comments




It seems to me that they made the same mistake that I did in my GitHub archive queries, they do not filter bot accounts. JavaScript, without filter, is on top 1 because of dependabot. If you filter all bots then Python is number 1, see: https://madnight.github.io/githut/#/pull_requests/2023/1


Wow, Nix is the most popular "functional" language! It is even more popular than rust


This is heavily carried by the Nix package manager's main package repository's (nixpkgs) development happening on GitHub. This isn't to say that Nixlang isn't popular, though. Anecdotally, I consume a lot of software that makes use of Nix.

https://github.com/NixOS/nixpkgs


Nim and crystal are higher than I thought. It's a pity they didn't get traction like rust or go, I find them a good intermediate between python/ruby and C/C++


I'm curious as to the query they're using in stackoverflow, since the results they've graphed vary considerably from https://insights.stackoverflow.com/trends.


I don't think they need to do anything as sophisticated as a query, they're just looking at how many questions are tagged for each language (which you can see from the tag search page) and then plotting those on a logarithmic scale.


I don't think they even plot the tag numbers on any scale. It looks from the graph like it's just graphing the "rank" (but actually inverse rank), so they sort the languages by # of tags and give each position an inverse score corresponding to the rank (#1 gets 102 "points", #2 gets 101, #3 gets 100, etc.).


The end of the post says

> Credit: My colleague Rachel Stephens wrote the queries that are responsible for the GitHub axis in these rankings. She is also responsible for the query design for the Stack Overflow data.


RedMonk has said they use the Stack Overflow Data Explorer tool but I don't know (though perhaps they've written about in the past) the exact queries they use.


Am curious where the total JVM language usage stands if you add them all up. Would be interesting to know how much Java gradually slipping is people leaking to other ecosystems vs competition within the JVM language ecosystem itself. It's impressive overall in the the sense that not only is Java one of the top 3 languages but Kotlin/Scala/Groovy/Clojure each occupy impressively high rankings in their own right.


Java rules the game, just like C on UNIX, JavaScript on the browser, C# on CLR,....

Scala is now having issues, with Scala 3 breaking changes.

Groovy is kept alive thanks Gradle.

Closure has always been a niche within JVM, and nowadays they seem to be more active in ClojureScript.

Kotlin only matters on Android thanks godfather Google making it the language for modern Android, while stagnating on purpose Java purpose. Although they finally started updating it, otherwise they won't be able to use modern Java libraries on Android, unless they rewrite everything.

Just do a Google analytics comparing all languages.


Funny enough, a lot of searches about Groovy are for Jenkins scripts :)


You're right, I forgot about that use case.


Ada is gone!?!?! Are all those weapon systems and European banks gonna' program themselves?


More seriously, it shows it's hard to estimate popularity of a language that isn't used in the open.


I noticed this too, and it was surprising. The latest Ada standard just came out last year and it's on the stack exchange questionnaire for the first time ever. It seems to be having a resurgence.


I enjoy looking over the 2D chart of programming language popularity, but the chart raises some questions:

-- How are there more Roff projects on GitHub than there are projects in Julia or Haskell or Perl? I haven't thought about Roff for decades.

-- Why are Zig and Nim so far apart on the chart?

-- What circumstances are putting some languages above the diagonal while others are below it? Go and Rust are below the diagonal while R, Processing, Matlab, Scheme and Racket are above the diagonal?


> How are there more Roff projects on GitHub than there are projects in Julia or Haskell or Perl? I haven't thought about Roff for decades.

Manpages, I’d assume.

> Why are Zig and Nim so far apart on the chart?

Nim has been around a lot longer, so I’m not surprised it’s more popular on both axes.

> What circumstances are putting some languages above the diagonal while others are below it?

I seem to recall them saying that the languages below the diagonal tend to be more widely used for personal projects (lots of GitHub projects), whereas the ones above the diagonal are used more for professional projects (lots of StackOverflow questions). Can’t find it in this article though… maybe this was mentioned a previous edition of the rankings.


Roff is used for man pages. Its popularity may be a quirk of GitHub's language detection.

Above the line are languages more asked about on SO than used on GitHub. The line is not meaningful by itself, it's just a juxtaposition of two data sources.


> How are there more Roff projects on GitHub than there are projects in Julia or Haskell or Perl?

Presuming it encompasses nroff and troff, manual pages and other documentation, combined with forking of such projects? Even Perl has a roff file: https://github.com/Perl/perl5/blob/blead/cpan/podlators/t/da...


> What circumstances are putting some languages above the diagonal while others are below it? Go and Rust are below the diagonal while R, Processing, Matlab, Scheme and Racket are above the diagonal?

People subscribe to tags on StackOverflow. My personal guess is that the communities of small tags (in terms of questions asked) are friendlier than the communities of larger tags.

If you check a large tag such as the one from Swift, you will see that there are almost no upvotes - even if some questions get a checkmark.

https://stackoverflow.com/questions/tagged/swift


Never heard of Ballerina. Looks pretty neat. I'm curious of all these keywords would add too much cognitive load over time? People don't seem to care for things like Rust, but I found it to be a pretty considerable turn off.

If there are vim lang tools for Ballerina I might give it a try!


I haven't touched it and it doesn't seem to get a lot of traction on HN, but it has some really cool features, like auto-generating sequence diagrams and built in features (retries, timeouts etc) for connections to third party APIs.


I was wondering why the GCC Machine Description language was such an outlier, especially considering I've never heard of it before. I googled it, and it turns on machine description files use the extension ".md".


Is Prolog so low as to not appear?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: