Programming is like any other craft--the more you know about it, and the more hands-on experience you have with it, the better you tend to be at it. IT professionals who have studied compilers and operating systems don't apply all they've learned every day, but they have a knowledge base that others lack. It's easier to decipher a problem with source code if you have some idea what the compiler or interpreter is doing. And those who know more than one language tend to look at problems from more than one angle--they're not stuck in a single mind-set, so they can typically deliver solutions that address business needs more quickly.
You'd think we'd have learned by now. We've seen this attitude in application development before. Remember the COBOL-to-VB conversion? How about the transition from Assembly to C in the embedded space? Or the seismic shift from structured to object-oriented programming? I remember (unfortunately).
Many organizations lost some very good people during these conversions because they just weren't prepared to make the necessary adjustments. And there's plenty of blame to go around: Employers should have offered and encouraged training in alternative platforms and languages, and employees should have pushed to learn more about their chosen craft.
[link|http://www.nwc.com/showitem.jhtml?articleID=15201963|link]