[c++] Why would anybody use C over C++?

I'm used to use C++ for my projects. Then I got a job where plain C is used (a 20 year old evolving codebase of an AV software with poor documentation...).

The 3 things I like in C are:

  • Nothing is implicit: you see what your program exactly does or not does. This makes debugging easier.

  • The lack of namespaces and overloads can be an advantage: if you want to know where a certain function is called, just grep through the source code directory and it will tell you. No other special tools needed.

  • I rediscovered the power of the function pointers. Basically they allow you to do all polymorphic stuff you do in C++, but they are even more flexible.