Just like if you want some basic HTML form attached to a database that's guaranteed to run everywhere, you write in PHP, if you want a simple Linux (and BSD) cli app, you write it in C. Both are dangerous tech (as in no guardrails), but you'll be set for decades with minimal maintenance.
The C language offers many features that even surpass modern languages.
BTW, wait until you really start digging into the Windiws API and realize that there are 8 or 9 ways to define a “string” based on which API you’re calling and you have to convert back and forth….
I agree that Windows API has its “quirks” (especially around strings — TCHARs, WCHARs, LPWSTRs… I’ve seen them all ), but that’s where C teaches you to be explicit and careful.
So while the power partly comes from the platform (like WinAPI), I’d still say it’s C that gives you the control to use that power effectively.
And hey — C might be old, but it still builds tools that last decades. That’s something I respect.
I started programming in assembly in the mid 80s, C is a different level of abstraction
https://jvns.ca/blog/2013/11/29/what-happens-when-you-run-a-...
https://news.ycombinator.com/item?id=29591993
https://news.ycombinator.com/item?id=43632645
https://news.ycombinator.com/item?id=38632970
https://news.ycombinator.com/item?id=16967675
and many more ...
There's simply not a lot happening to it - apart from being part of the root causes to 50% of all security vulnerabilities.
Although Gcc and the Linux kernel do have some 50 MLoC, noone would nowadays embark on writing such a large system using C from scratch.
Today, Java, C# or Rust would be much better choices for any large system. Heck, even C++ (with proper use of a selected sub-set of its features) would be a step up.
Dont get me wrong; I've been doing embedded development using C and C++ for a living for the last 25+ years. But, I'm learning Rust, and I love it, hoping it will take C's place and being a serious contender to Java, C# and even python for the use-cases where it would make sense.
Surely, getting a program through the compiler is much harder, but afterwards, it just works. I would suggest all seasoned C developers to give Rust a serious shot.
That said, I think C still has a unique value, especially when you need full control over memory, binaries, and platform-specific behavior. It's minimal, with no hidden abstractions or magic — what you write is what you get. And that simplicity can be a feature, not a flaw.
C isn't always the right choice for large modern systems anymore, sure — but for certain domains like embedded, retro-style tooling, or bare-metal performance, it still shines. Plus, it's a great language to understand how things really work under the hood.
I see C and Rust not as enemies, but as tools with overlapping goals and different trade-offs. I use both — C when I want ultimate control, Rust when I want safety with fewer footguns.
Truly an exaggeration. People really overestimate the danger of C.
"no one would nowadays embark on writing such a large system using C from scratch."
Come on, C is fast. C is not complicated. C has proven that it is reliable in recent 50 years. People don't like C because they can't do anything without their sweet language's garbage collector.
You're right: C is simple, is fast, and has stood the test of time. It's not about nostalgia — it's about having the right tool for the job. People often forget how powerful simplicity and full control can be.
Glad to see another dev who appreciates the raw power of C. Respect
I would think more than 50% of the low level code running every day is written in C. If that’s true, 50% on that metic would be a good result for C.
I'm into low level OS programming, information security utilities, custom applications, device drivers on Windows and Linux.
Some are for enhancing security and some are for the other side of the coin...
Respect to you bro!
andreamonaco•7mo ago
FerkiHN•7mo ago
andreamonaco•7mo ago
FerkiHN•7mo ago
https://github.com/Ferki-git-creator/phono-in-terminal-image...
It's not ready yet, but can you please support it with a star like I did for you?