Hacker News new | ask | show | jobs
by pron 989 days ago
With few exceptions, languages reach the ballpark of their all-time high relatively quickly, i.e. it is rare that a language doubles its market share (assuming it's not in the vicinity of zero) after its first decade and rarer still that it doubles it after 15 years (I think Python is the only exception to that). In other words, if you're not at 5% market share by age 10, chances are low you'll ever reach 10%.

I think it's common to see a mismatch between enthusiasm and market success in programming languages because programmer tastes vary widely, and are also not evenly distributed. Sometimes certain groups who are most enthusiastic about certain technical features of a language (and I would say those who are most enthusiastic about programming languages in general) find it hard to accept that their preferences are only shared by a minority.

Adding to the confusion is the fact that there is a numerically large (but proportionately very small) group of programming language enthusiasts that give some languages a big early boost, raising hopes, but then that pool is exhausted. So getting to 1% and generating hype is not as hard as showing stable and growth and getting a large community that sticks with you for over a decade.

3 comments

IMHO there is a substantial distinction to be made, when running statistics, between languages that are effectively corporation-sponsored (Java, C#, JS, etc) and opensource "community" languages (Perl, Python, C, etc).

The former tend to peak early, powered by marketing departments, and then slowly tail off; the latter tend to do the opposite, because word-of-mouth is slow; community-powered peaks are often determined more by the appearance of a successful product based on it (Rails, Elixir, etc) than time from creation.

Except C and Perl peaked relatively early, too, and so did PHP. Yes, Ruby was late but its super-popularity was short-lived. Python is really the only example I can think of, and even Python had a healthy usage relatively early.
> it is rare that a language doubles its market share (assuming it's not in the vicinity of zero) after its first decade

JavaScript, Python, and Ruby are all counter-examples. Erlang and Haskell might as well.

I don't think time plays such an important factor. A language may exist for 20 years and then a large corporation or an all encompassing framework draws attention to it, leading to unforeseen growth.

> In other words, if you're not at 5% market share by age 10, chances are low you'll ever reach 10%.

This won't happen for 99% of programming languages and it shouldn't be a goal or even a comparison point. For example, on GitHub language stats [1], only three languages have more than 10% activity, only 7 within 5% activity. Pick other rankings, market share related or not, and you will find similar numbers. Tiobe lists SQL, Go, and PHP all below 2% and I don't think anyone could argue they failed at market success.

> So getting to 1% and generating hype is not as hard as showing stable and growth and getting a large community that sticks with you for over a decade.

Given all of the above, I strongly disagree. Getting to 1% is incredibly hard.

[1]: https://madnight.github.io/githut/

> JavaScript, Python, and Ruby are all counter-examples. Erlang and Haskell might as well.

I would say that only Python is a counterexample, and possibly Ruby although its super-success wasn't long-lasting. Erlang and Haskell have been hovering at under 1% for several decades.

> For example, on GitHub language stats [1], only three languages have more than 10%

I meant 10% as a symbol. Languages very rarely double their market share after a decade (unless they're hovering around zero, in which case they're in the noise anyway), and almost never after 15 years.

Actual market shares numbers are probably best captured here: https://www.devjobsscanner.com/blog/top-8-most-demanded-prog...

> Erlang and Haskell have been hovering at under 1% for several decades.

I am well aware that I am nitpicking at this point, but putting a restriction on your metric that rules out 99% of programming languages makes the comparison quite limiting. :D

You are ultimately only speaking about languages that are already quite popular, because even languages like Kotlin, Dart, and Swift (all endorsed by billion dollar companies) are hovering around zero by the metric you provided, and I would have a hard time classifying them as a noise. And languages like Go and SQL are still well below the 5%-10% reference point.

Obviously 99% of languages never make it at all, but Rust's adoption rate is worse than what the languages at the Go/Kotlin level -- i.e. those languages that aren't superstars but have achieved very respectable success -- had at that age. More importantly, most languages reached their ultimate "tier" by age 10 and virtually all (I think all but Python) have reached it by age 15. As of right now, its adoption doesn't suggest Rust is poised to replace C++, let alone do better. But yes, I agree that its prospects are looking better than Haskell's or Erlang's.

And again, the 5%/10% numbers were symbolic. 10% was meant to represent Go/Kotlin levels of success.

Oh wow. I did not expect this question to gather THAT much feedback, but I absolutely did not expect you showing up in the comments. Thanks for your work – it brought me to appreciate the functional programming viewpoint even with a first few steps into the language. It is a way different viewpoint compared to what I see in my daily work and will surely influence how I code in the future :)
Hi HerrBertling! I am glad you are enjoying Elixir and learning new things, I appreciate the nice words and the opportunity to be a positive influence. :)
5% market share for a programming language is still staggeringly large. It's probably okay to aim for less, and to still have a very healthy and broad technical community.