HACKER Q&A
📣 00taffe

Who is using C?


I'm a senior web developer that sometimes struggle with the over complicated stuck full of dependences that hide how the real technology works.

Sometimes I would like to do a step back and simplify the way I work, basically using just a few tools / language that have less ideas but that the power to do big things!

C is a language that can be easily to understand but very very difficult to master.

I'm very curious to knwo who is using it and for what!

Thank you :)


  👤 dyingkneepad Accepted Answer ✓
I am.

C is still highly used for low-level system software development: OS stuff like drivers, libraries, compilers, databases, software that runs in specialized small hardware, etc. C++ is for those slightly-higher abstractions that still require a lot of performance, like video-games and some of the former. Some stuff is getting very slowly replaced by Rust, but it will still take a long time for Rust to corrode the C/C++ market share in the lowest level stuff.


👤 khedoros1
A big chunk of the codebase I work on is C. "Distributed storage server" would be a fair description of the product. There's C for a lot of the nitty-gritty of the operation, going down into driver-level stuff. There's C++ for a lot of the higher-level business logic and system management. Then a bunch of code that's an unholy mix of the two.

👤 Rochus
I'm using C89 and C99 very often, mostly for embedded system. Since you're a web developer, you're used to garbage collected languages. C is very bare-bone in comparison and you have to take care of details you never had to with your stack. So I think you should rather go for a language like Go, which is still pretty bare-bone compared to e.g. TypeScript with the usual tools and libraries, but still more familiar to what you are used to.

👤 runjake
It's worth learning C. I don't think you need to master it to get a lot of value from it. Consider using C on embedded platforms like esp32, if you want a more "simple" introduction.

https://learnxinyminutes.com/c/


👤 codr7
I am, occasionally, mostly to implement interpreters these days.

But I did spent an awful lot of time in C lately while writing this book:

https://github.com/codr7/hacktical-c


👤 smt88
You're not looking for C. You want to try Go, Java, C#, or Kotlin.