Hi,
So I'm pretty much fresh out of University (College in US). I did traditional engineering and then specialised in (for the purposes of brevity I'll call it) applied maths.
Anyway, I've taught myself C++ and some concepts of OOP, although I haven't extensively studied design patterns and rely on my head to come up with a good pattern for the problem I'm facing.
I currently code in C all day long. I read C code all the time and these days I do little C++ because my time is occupied with my job which uses C. Anyway, I'm getting a bit confused mainly because of the below.
1. Is C still gaining popularity or is it being replaced by C++? I know a lot of projects and code out there is in C simply because a stable C++ compiler was only released about 10-15 years ago whereas a stable C compiler has existed for a while. I hear thing such as this and it makes me wonder.
2. What is the niche that C is supposed to fill and that C++ is less suited for? I know C is a lot simpler that C++ and a simpler thing is easier to use even when you are a master on the subject.
3. What is the problem writing OOP code with C? You can code a single class in a single file.
4. A lot of people talk about C and C++ as though they are totally different languages. I've heard expression such as "Oh you can't use C++ for that, you need to learn C.". Am I missing something here? Sure the libraries are different and there are some new keywords in C++ that do things that a library does in C but they are v. v. similar to me.
Pardon me it this has been asked before - I haven't really managed to find answers to such questions.