Why Not Rust or Other Trending Languages?
C has effectively won the systems programming war, and C++ adds the essential features you might need on top of C. Notably, garbage collection is not something you generally want or need at this level.
Rust is often adopted by programmers who are looking to pad their resumes for their next job, or who enjoy experimenting with new things—even if that sometimes results in over-engineered projects that others have to inherit once they’ve moved on.
Despite the buzz, new technologies are often promoted with biased benchmarks. These may show impressive performance—until, for example, garbage collection mediates unpredictably and causes unwanted pauses, potentially breaking system reliability at critical moments.
There’s always a fashionable new language being declared “better than C”—complete with the latest features and hype. But these trends rarely last. Interest often fades, and programmers following these trends typically move on to the next big thing. It might be driven by curiosity, a desire to be at the cutting edge, or just plain boredom. Who can say? Regardless, these trendy languages tend to come and go.
Meanwhile, C and C++ remain the bedrock of truly influential technologies. Notable examples include Lua (implemented in C), Cosmopolitan (which started with C support), and even WebAssembly, with C as its first target. The most critical systems in the world are built on C for good reason: it is, simply put, extremely difficult to surpass.
Ultimately, C (and to a large extent, C++) remains indispensable—and for critical, foundational systems, they are still the best tools for the job.