Hacker News new | ask | show | jobs
by tptacek 5575 days ago
For my part, I am an avid C programmer; it's my first language, and virtually the only one I used through the '90s. And I will say: you should avoid writing in C unless you need to. The cases I can come up with off the top of my head where it's necessary:

* When performance matters and can be gained through writing C code --- for instance, if you're compute-bound, or if you need fast access to data structures.

* When building incremental improvements to large C codebases --- ie, writing a loadable kernel module.

* When you're deploying in small-footprint environments.

What are the other cases where C makes sense?

I brought up the C thing not because I want to take potshots at what is probably my favorite language, but because a majority of the developers on HN don't write C, and you'd hate for them not to take a crack at competing with nmap because they had a faulty belief that they'd need to use C.