Why I use C in 2025

published on 2025-08-31

In recent years, the Rust programming language has taken over the programming community with its appealing features, most notably memory safety. For this reason, there is a huge movement of people rewriting everything in Rust including tools like GNU's coreutils, grep and even some drivers in the Linux kernel. If we take a look at some of these new rewrites, most of them are actually more performant than their older C alternatives. So is C useless? In my opinion, no.

Why Rust rewrites are faster

Let's take a look at ripgrep: their benchmarks show how in some cases GNU grep is 10 times slower. But how is it possible? Well, simply put, Rust makes it way easier to create "concurrent" software thanks to libraries such as crossbeam and ripgrep makes extensive use of this while grep is single threaded. Not only that, GNU grep was designed in the late 90s when available hardware was very different from today's computers and thus it was designed with that hardware in mind. On the other hand ripgrep uses SIMD and other x86 extensions to accelerate the searching algorithms.
All of this can be done also in C, it's just more complicated since there is no such thing as crossbeam nor all the abstractions Rust provides.

Why should you use C

With that being said, one could ask "why should I bother with C" and that's a valid question. In my opinion, C has some advantages that other languages just can't reach by design, for example:

So are other languages useless?

No, other languages are not useless as most languages (no, not you JavaScript) can be used to achieve similar results and everyone has their preference on the matter. I wrote this post in defence of C since nowadays I keep hearing that we should all stop using it [1] [2].