C-Research said:
Not to be argumentative, but higher languages must generally be slower than C in algorithms, beginner reckless speculation, unless math based algorithm libraries are being used. As an extreme example, would not C# algorithms be usually slower than C ones? I understand that C++ is quite a bit better performing in almost all instances than C#.
Performance is two-fold: Machine performance + developer performance. We could write everything in assembly still, but modern software is so complex, we would never get done with it.
C++ is an extension of C, so in theory it does not have to be slower if you use it accordingly. There are also cases where C++ can be faster, because it gives compilers more options due to a higher level of abstraction.
Though, the question which is generally faster - C or C++, seems to lack a simple answer. Opinions and test cases vary.
But we can assume C++ should be faster than C#, and sometimes much faster. C# has garbage collection, which will add hidden costs no matter how well you know it.
C-Research said:
Where does C actually shine, in your view?
Simplicity. It's nice if you can keep an API in C.
But below such surface, you pay for simplicity with higher implementation complexity.
Personally i don't see anymore point to use it, but i still think it is better to learn C first, C++ on top of that.