Secondary there will always be the dispute low-level versus high-level, as we move to higher and higher levels of abstraction. I can remember an uncle of mine disputing C++ and object-oriented programming in general, because of the performance lost - he had learned to think about memory with the requirements of his old Apple in mind.
I'm one of a last few of students in germany that will still be learning C(starting in 2 weeks), basically because I also signed up for embedded development, but aside from that it's Java and C++, and in some cases even C#(which I'm also going to have to learn - unholy :\ ). I'm not even sure if there is an option to learn more assembler than the usual "hey, it speeds up C".
Today I see C++-Developers bitching about Python and Java,(although Java certainly gained performance with the 6 series, I've even seen 3D done right with it). Tommorrow I will see the Java people bitch about the performance loss of OS-independent virtual machine scripting langs in the style of python or something like that.
Look at what KDE is doing today opening everything on the Desktop for scripting, signaling and remote controlling. Sure it will eat performance like it's nobodys business, and the Atari Kids will have a smile, but in the end, when the real use of things like remote-control desktop enviroment(which is not just VPN/SSH!), social desktop or context-sensitive applications hits, you'll see that none of this could have been made with C without driving everybody nuts.
Sure, within the X-Server or the Kernel it makes no sense or isn't even possible to switch to a high-level lang, but even if everybody knew C, there's still a world of hurt with the specifics of driver development.