I think junior devs feel like everytime something new comes out they have to rewrite everything to use it. After you've been around the block for a while you realize that you can pick and choose technologies and maintainance plans. Once you realize that, you suddenly see a lot of this is just hot air.
Consider having a product developed in silverlight. Now MS is saying they are backing html5 but fear not, you can still rewrite it for metro because sadly IE10 on metro will not support plugins. This is their own plugin on their own operating system. Not supported! Which is not the same thing because SL atleast worked on the mac cross platform. Your metro app wont. So, html5? even still your developing a metro app so forget cross platform or perhaps you can reuse a lot of the code base but some effort is still required and we're really hoping for the best. In the end we are rewriting again.
Maybe I just can't understand something, but even sitting on linux for last 6 years and seeing all the great technologies I find C# really great and clean language.
From asp.net 1.0 to 2.0 required a rewrite to take advantage of 2.0 featureset. From linq2sql to EF where linq2sql was dropped in favor of EF and we still have no proper assurance. winforms 1.0 to 2.0 then wpf. Moving to wpf as you may guess requires a major rewrite. Then the rumors that wpf is dead. SL is the next best thing. Now they say SL is dead but your skillset will carry over to building metro style apps.
Perhaps he can avoid all this frustration now!