Re: The Case for Rust (in the base system)

From: David Chisnall <theraven_at_freebsd.org>
Date: Wed, 04 Sep 2024 07:43:05 UTC
On 4 Sep 2024, at 07:35, lain. <lain@fair.moe> wrote:
> 
> About C developers being in decline, I actually disagree with that.
> I have seen younger generations getting interested in C the more they
> get overwhelmed by the amount of new languages to chose from.

This does not reflect my experience in hiring, the data I’ve seen from a major tech company, or the trends in open source contributions.

It is far easier to hire C++ developers than C developers. This shift started a bit after C++11 was released and has continued. 

This trend is reflected in open source. Here is the OpenHub graph:

https://openhub.net/languages/compare?utf8=%E2%9C%93&measure=contributors&language_name%255B%255D=c&language_name%255B%255D=cpp&language_name%255B%255D=-1&language_name%255B%255D=-1&language_name%255B%255D=-1&commit=Update

This shows the number of open source contributors making contributions in C or C++ over the past decade. You’ll see that there are now more than three times as many C++ developers as C contributing to open source projects (I’m ignoring the last few months where it looks as if C programmers all gave up and went home, I presume there’s an error in the underlying data).

For Rust, the situation is more complicated. Hiring good Rust developers is harder than hiring C developers (there are no Rust developers with ten years experience because the language isn’t that old, and even though a lot of people are learning it, there’s a lot of inertia). This changes a lot when you look at the open source ecosystem because the fact that Rust is new and came from the open-source world skews the people who learn it towards open source and towards wanting to practice the language that they’ve learned. Here’s the same graph with Rust added:

https://openhub.net/languages/compare?utf8=%E2%9C%93&measure=contributors&language_name%255B%255D=c&language_name%255B%255D=cpp&language_name%255B%255D=rust&language_name%255B%255D=-1&commit=Update

Note that there are still fewer Rust developers than C, but they’re increasing and they tend to be more enthusiastic contributors.

David