Fashion versus Progress
To read the software press, one would think that every new language or technique immediately makes everything that came before obsolete. Not so.
Some changes are genuine advances. For example, C has no advantages that I can think of over C++; C++ is an advance from C, and in general, OO is an advance from the "structured programming" that came before it.
Other changes are not simple advances across the board, but are appropriate in some circumstances and not others. Reading the software press recently, one would think that C++ is now "legacy," and will be entirely replaced by Java or C-sharp. But in fact, it depends whether you are a component developer or a software integrator. For software integrators, Visual Basic, Java, and C-sharp are much more productive than C++. But for performance and power, C++ is far superior, and so we can expect it to remain a firm favorite with component developers.