I was hoping this might start with some actual evidence that programmers are in fact getting worse. Nope, just a single sentence mentioning "growing concern", followed by paragraphs and paragraphs of pontification.
BatmanAoD
Oh. Well, in that case, his resignation message was pretty matter-of-fact, not dramatic. He did link, in a note at the end of the email, to the now-infamous "the fact is, you're not going to force everyone to learn Rust" video, and the drama was more or less self-manufacturing from there. But to be honest, I think it's a good thing that more people are seeing that video than otherwise would have, and I can't really blame him for linking to it.
And isn't it somewhat concerning that bringing Rust to the kernel is still so controversial and highly "political", several years after initial approval by Linus and Greg KH?
Ah, sorry, I misinterpreted your comment somehow. Yes, Rust is bootstrappable today, it's just a much longer process than it would be if there were a compiler written in C.
You cannot, today, build a Rust compiler directly from C, but you're right that people are working on it. See this recent post: https://notgull.net/announcing-dozer/
Edit: you can certainly bootstrap Rust from C via C++, as the article covers. I misinterpreted the comment above.
He spent four years as the project maintainer. That's hardly "flouncing off."
It would be a valid point if he weren't literally speaking over the people trying to tell him that they're not demanding he learn Rust: https://youtu.be/WiPp9YEBV0Q?si=b3OB4Y9LU-ffJA4c&t=1548
Oh jeeze, you have no idea. You can watch it yourself: https://youtu.be/WiPp9YEBV0Q?si=b3OB4Y9LU-ffJA4c&t=1548
That timestamp is about where the audience member (a maintainer of ext4 and related utilities) starts speaking. The "here's the thing" quote is around 28:40.
The goal is rather to not need to think as hard...
Or, if one prefers, having more flexibility to choose how and where to allocate mental energy, rather than letting the language force you to spend some amount on the "bookkeeping" necessary to avoid various footguns.
Yeah, I mean, I tried to be explicit that I wasn't recommending unity builds. I'm just pointing out that OP, while misinformed and misguided in various ways, isn't actually wrong about header files being one source of slowness for C++.
You don't need to do any of those things with Go or Rust. Interfaces/traits provide the capability for dynamic dispatch.
Slow compared to just chucking everything into a single source file, actually: https://github.com/j-jorge/unity-build
That's only true for clean builds and even then isn't universally true, and of course there are other reasons not to do unity builds. But the existence of the technique, and the fact that historically it has sped up build times enough for various projects to adopt it, does show that the C++ model, with headers and separate compilation units, has some inherent inefficiency.
I mean, at least you acknowledge that you're presenting an opinion. This blog post just tries to gloss over the fact that it's pure speculation.