Lets face it – there is no one programming language for all.
Sure, there is [language of your choice]. But how often do you go online to look for an algorithm to solve problem at hand, and the example source code you find is exactly in the [language of your choice]?
It’s so cool to stick with one language, the feeling of comfort is very soothing.
But if you’re a programmer by profession, how many languages do you know and use? Four? Six? And including batch scripting? Eight? More?
And how many languages you can read? Ten? Fifteen? Even more?
We’re obviously living in the time when there is no one language to pin point as “the one”. I think that’s great! There’s so much to choose from, and so much to get!
Of course not, even though (exc. of the last example) it’s all possible. After all, most languages are Turing complete, and thus you can do the same stuff in each. But at what cost?
We cannot avoid other languages for this very reason – they all serve some purpose (exc. of a few :)). Each one has (wider or narrower) domain of application.
In my opinion, this explosion of new languages serves programmers very well. Each language is here to cover some part of the universe of possible problems. It doesn’t matter if you translate the code from one language to your language, or use foreign call, or just dig into the other language; the main profit for you as a programmer is the fresh insight – whether you find a neat concept that is supported by the language at hand, or a fresh new look at what shape the code can get, or a surprising use of data, this “fresh blood” mostly brings only good.