I mean you’re not wrong but I’d argue you can get more interesting cve’s using a higher more performant language such as c++. Where there are are ways to include CVE 's from C and introduce new ones to each level of your program using inheritance.
Here is the thing. Everybody, including attackers, is too overwhelmed with the boring variety of CVEs and unable to even think about the more interesting kind.
As soon as we make people stop generating those boring ones by the millions, our days will be way more interesting while we find and fix more complex CVEs. But anyway, those will also be way more common on C and C++ code than most other languages (maybe with an exception for JS).
Ah yes, the rust zealots shitting on one of the most important languages of all time… again.
Kinda weird how the number one way to promote Rust has been to downplay C and others.
How exactly do you promote anything without saying “it’s better than the competition” in some way?
What else can you say about a programming language? There’s literally not a single point where a feature is not a comparison to the rest of the languages. There’s exactly one actual barrier: turing completeness. And that bar is so low, even Excel gets over it.
The specifics of C’s design could barely be less important. In the 70s it was one of countless ALGOL derivatives churned out on-demand to support R&D projects like Unix.
Unix succeeded, but it could have been written in any of these languages. The C design process was governed by the difficulty of compiler implementation; everyone was copying ALGOL 68 but some of the features took too long to implement. If Dennis Ritchie had an extra free weekend in 1972, C might have a module system. But he didn’t, so it doesn’t.
That’s because Rust solves lots of issues caused by C, of course they are going to twist that knife and use it as a selling points. Humour is not bad, I’ve done lots of C and C++ and am not bothered a bit by it.
It doesn’t reduce the importance of the language at all, just sheds some light on safer languages, Rust or not.
C is the hardware language N°1 of the high-level languages. If you actually want to know and control what happens in the machine, you write in C. Rust, C++ and all the other abstractions are for people who do not understand how computers and computer memory work.
Edit: grammar
I’ve written programs in C. I’ve written programs in assembly, for x86 and for microcontrollers. I’ve designed digital logic and programmed it into an FPGA. I’ve built digital logic circuits with transistors.
I’ll still take Go over C any day of the week. If I’m doing embedded, I’ll use TinyGo.
Why? I see no reason to go through the hassle of learning yet another language when Go serves my purposes perfectly and I’m happy with it.