I sat down and graphed how Rust has grown over time, according to JetBrains, StackOverflow, SlashData, TIOBE, RedMonk, etc. and then wrote up a blog article about it. I also made some predictions about how Rust will overtake C/C++ as the dominant systems language. I'd love to hear what you guys think about the article and what I got right/wrong.
Nice article. It has a lot of interesting data. In a few places you add some references, but in most places they are missing. Citing your sources might increase the article’s credibility.
Finally, if I’m not wrong, the main premise of your article’s prediction is:
Current trends for Rust to overtake C and C++
If the user base of both C and C++ continues at the same level, while Rust continues to acquire 1.9% of developers per year, we can project based on the StackOverflow data that Rust will overtake C in the next 3.6 years and C++ in the next 4.5 years. If using the JetBrains data, where Rust is acquiring 1.2% of developers per year, we can project that it will take 5.1 years for Rust to overtake C and 11.1 years to overtake C++. However, there are good reasons to question whether C and C++ will maintain the same share of developers in the future.
My main constructive feedback is:
properly define what you mean by “overtake”. I guess you mean the absolute number of people who write Rust code, compared to the other languages. If so, I don’t think that is a very interesting metric. C/C++ is the dominant language in embedded systems (industry support for Rust is meager), C++ in game development and other domains, for example. I don’t see Rust “overtaking” (in the sense of being the language where most code is written) those languages in those domains in the next decade. Rust is popular in the cryptocurrency industry. What I’m trying to say is that there is a lot of nuance in such a statement.
In any case, thanks for the article, very interesting.
I thought it was clear from the context, but I changed the text to make it clearer:
If the user base of both C and C++ continues at the same level, while Rust continues to acquire 1.9% of developers per year, we can project based on the StackOverflow data that the number of Rust developers will overtake the number of C developers in the next 3.6 years and the number of C++ developers in the next 4.5 years.
Yes, I agree that game development and embedded programming will be slower to adopt Rust.
Games depend heavily on their C++ frameworks (Unreal, Id Software, etc), and those frameworks won't change quickly, because security and memory bugs are much less critical than for other types of software. However, gaming frameworks also face pressure to become multi-threaded for better performance, and in many game frameworks, the core game logic is still single-threaded. When they decide to rewrite that core game logic to be multi-threaded, there will be a compelling argument for switching to Rust. It will be interesting to watch what happens to the gaming frameworks.
Given your stated thesis... can you think of ANYTHING that might be missing from this graph? Yanno... any... salient languages, possibly related to your topic, maybe?
If you want to overthrow the ruler of the old world, you need something truly revolutionary to make it happen. Rust is great, but it's not revolutionary enough to serve that purpose.
Rewriting everything from C++ to Rust is necessary in many cases. But in many other cases, it is just a waste of talent.
In the meantime, other people are rewriting everything in JavaScript.
If you want revolution, you'd better look into some new frontier that no one has ever explored. It would be even better if it's an area where C++ isn't a good fit, and that's where Rust truly shines.
Well, I am working on an area that no one has worked on before. Unstandably, no one seems to give a damn. In the process, I found some promising crates that no one seems to care much about.
On the contrary, all you need is good rhetoric and popular discontent with the status quo. Many a regime has been overthrown only for the revolutionaries to find that their new leader is the same, or worse.
Do I think Rust will become the new "de facto" language? Probably not, much as I would like that. But if it happens, it will be more from popular support and UX than from anything truly revolutionary about the language itself.
Why do you think being an "AI language" is an advantage? Mojo tried being exactly that, and I haven't heard anything about it in over a year. The AI market is already covered by other languages (like Python), and many think that the industry is heading for a crash anyways. IMO, leading into AI would destroy Rust, not make it more competitive.
In any case, there are a lot of industries that the Rust ecosystem could conceivably target (assuming the goal of overtaking C++), and AI is possibly one of the worst. Games, low latency trading, high performance simulations, security-critical applications - to me, these are all much more "valuable targets".
(to be clear, I don't see this as a war between Rust and any other language)