I am still a die hard C programmer. I did a C++ course a few years ago
but I have never seriously coded in the language.
Is C ever going to be superseded by OOP?
As time goes by and people of less and less aptitude for programming
actually take up programming, a greater proportion of programmers
globally are air-headed and subscribe to "paradigms" rather than using
their own intelect. Thankfully, there are many watered-down mickey-mouse
languages coming to the fore to wick these "programmers" away from real
programming language communities like C and C++.
I learned how to use a class in C++ long before I knew what "object-
orientated programming" meant. I used classes where I thought they fit
well, not because I thought it'd be cool to throw the term, "OO", around.
I think it's a little pathetic that a programmer would be so rigid and
non-fluidic that they'd actually subscribe to a particular programming
paradigm rather than just writing the program and deciding on a case-by-
case basis what would be the best language feature to use.
Learn all the features of a language, and then when you're faced with
a problem, use the best-fitting feature.
But as regards then need for OO. Well I'm comfortable writing code in
C, but there are specific projects that make me think, "yeah I'd
definitely use a class here instead". Then it's just a case of deciding:
1) Do I want to code it in C++ and have the extra features?
2) Or do I want to code it in C and have it more portable, and less
susceptible to compiler bugs (because a C compiler is so much simpler).
Myself though, I tend to use C++ for "desktop applications", and C
for command line programs and for microcontrollers.
But if you're asking about the worth of C++, then its features
*definitely* are valuable... just play around with template functions for
a couple of minutes and you'll... and that's before you've even touched
its standard library.