Butingtaon's Corner

Posts by type
Other

C is still relevant

Core projects run out of money. Git commits stop. A dependency you use breaks when one of its dependencies stops working, leading somebody to fork it with a quick fix or replacement dependency. Bandaid fixes to decaying OSS projects start to crop up in more and more places. We start to see blog posts saying that all we need to do is get enough people to donate money or pay for support.

I just finished reading the above article and it just struck me how bad things have gotten. Perhaps there’s still time to turn things around, but me not being an actual part of the industry (I’m not a programmer by trade), I’m not the best person to talk about that.

For me at least, what this tells me is that learning the fundamentals, and being able to minimize the amount of dependencies one has on other software is more important than ever. This is where C comes in.

Being a systems programming language, ANSI C is one of the main languages one would use to write software libraries with. Which you could then glue into your actual use case in another language if necessary, as most languages have good C interop.

Obviously there are other languages like Rust and Zig which aim to take C’s place, and they do have their place. C just happens to be one of the few languages I’m comfortable writing in, and the decades of tooling and documentation are also a big plus. Not to mention that almost every hardware platform has a C compiler for it.

In an age of ecological collapse and supply chain failures, perhaps it is also prudent to prepare for DIY-ing one’s own software.