Unfortunate they had to exclude Javascript. I understand why they chose to do that, but that's a HUGE chunk of data that's been pretty much randomly ignored. So can this really be considered a fair analysis given that?

No one has a choice with JavaScript. Theoretically you could go native or transpile but it's very rare.

Therefore, if you included it, the data wouldn't lead to meaningful conclusions. I feel like this was pretty obvious from the article and that the explanation was enough. For example, substituting node for js seemed to work well enough.

No one really has a choice with C, but its tally was very interesting..

I think there is a lot more vertical movement and the horizontal stuff might be a sideshow without considering overlap or experience with C or JavaScript as significant in how one transitions between purely competing languages.

But JavaScript's real problem for the analysis might be that its competition is largely excluded since the walled garden apps rarely have related code on GitHub, even if their language is present.

There's a huge choice for C. For a lot of uses, you can use C++, Go, Java, Rust, or a few other systems languages. The only thing that needs C is some very niche embedded stuff, or the Linux kernel (also niche).

All the major Unix kernels are in C. If it continues this trend, it seems clear that new kernels in new languages will be needed, or existing kernels will need to be ported to other languages. A memory safe one would be cool...

Well, if you think that C is going to go the way of conversational Latin, that would probably be accurate. I doubt that's accurate, because:

1. The fact that fewer people are choosing C for other projects doesn't mean they can't or won't learn it for kernels.

2. Nobody has yet to produce a language that is clearly superior to C for systems programming. Otherwise, we would be seeing movement towards that language instead of Java and Python.

The other thing to remember is that these are GitHub projects; the vast majority of them are not going to be kernels but application software or libraries. That would explain the moves from C to Java and Python; it's easier to write applications in those languages.

> clearly superior to C for systems programming.

I would argue Rust already has.

When someone writes a system based on Rust, that claim will be much stronger.

Some of my favorite examples:

https://os.phil-opp.com

https://github.com/helena-project/tock

https://www.redox-os.org

https://github.com/redox-os/tfs

https://github.com/intermezzOS/kernel

The biggest application example:

https://github.com/servo/servo

And some self promotion:

https://github.com/bluejekyll/trust-dns

----

I encourage all programmers to check it out. You may discover like me, that Rust is a compiler and language which guards against all the hard learned lessons I've had over my career. It's an amazing language to program in.