Compare programming language health over time

get it

LanguageHealth is an easy way to compare programming languages based on how healthy they are over time. There are many tools out there for charting programming language popularity, but they tend to use metrics that I don't find very useful. LanguageHealth looks at the fraction of open-source commits to projects in a language.



You need to become a Contributor to join the discussion - Find out how.
Mitch CroweMaker@mitch_crowe
Hey Product Hunters! Like you, I spend a lot of time analyzing the programming language ecosystem. I created LanguageHealth to help me figure out which languages are growing or dying.
Abadesi@abadesi · 🙋🏽‍♀️ Product Hunt | Hustle Crew | NTT
@mitch_crowe This is so cool! Really surprised by the increasing gap as Java rises and Ruby falls. Was there anything you saw in the data that surprised you?
Mitch CroweMaker@mitch_crowe
@abadesi Thanks! I’m glad you found it useful. I was surprised by how much Ruby is falling too. I was also surprised by the fall of Clojure and strength of Go in contrast . I’m particularly interested in front-end languages, and TypeScripts strength and Elms sturdy rise were really great to see.
Alfred BeckmanHiring@salmiak · Senior Product Designer at Instabridge
Could you please elaborate on how you define health? I'm a UX designer with some basic knowledge of HTML/CSS/JS, so my question might be very rudimentary. But if I, for instance, compare JavaScript with CSS and HTML, CSS by far exceeds the other. What does this mean? From a UI standpoint, I really like the execution. I guess that's why I also want to understand the content :)
Clement Nivolle@cnivolle · CMO @Clever_Cloud
@salmiak I'm interested too on how you create this metrics. Some languages are more verbose than other, resulting in a big variation in commit numbers: is that managed on LanguageHealth? Nice UI btw 👍
Mitch CroweMaker@mitch_crowe
@salmiak For sure! Currently, the number you see there is calculated in the following way: 1) Compute `N(m, x)`, the total number of commits to public projects on GitHub in month `m`, where GitHub determines the *primary language* to be `x`. 2) Compute `T(m)`, the total number of commits to all public projects on GitHub in month `m`. 3) The number shown is `N(m, x)/T(m)` for each month. So, in short, it is the fraction of commits to a given language, which roughly maps to the amount of open-source work being done. CSS and HTML are a bit anomalous as languages. They don't really compete against other languages for mindshare in the same way as, for example, Ruby and Python do. They are also frequently secondary languages in repositories alongside other languages. I suspect that both of them are actually *more* important than these graphs show. In the case of CSS, I think it is dominating the other two because there is a huge number of CSS frameworks out there.
Mitch CroweMaker@mitch_crowe
@cnivolle Thanks! You're absolutely right. Each language encourages different programmer behaviour and that affects the data. Looking at the number of *commits*, rather than things like lines of code, is intended to help mitigate this, but there's not doubt that's not perfect. I'm not doing anything else to account for this. I'm not really sure what you *could* do, but I'd be really happy to hear ideas ;-).
Loch Wansbrough‏@lwansbrough · Software Dev @TrackerNetwork
C# fanboy checking in. Growth against Java!
Mitch CroweMaker@mitch_crowe
@lwansbrough True! C# seems to be getting pretty steady growth.