Tech changes so fast that "specialists" in a language or platform can become jobless in a matter of a few years. It's an adapt to survive scheme. In the case of programming languages, the most important thing is to understand the underlying concepts. They always repeat, with different syntax and maybe some incremental innovations, but the basic thinking behind them changes way slower than the languages themselves. As some of you have pointed, I'd always hire a generalist when given the choice.