In the beginning computers were incredibly expensive so large corporations had them and you'd book time with them, the programs lived on these machines and the output was generally printed reports.
Then general workstations became cheap enough and workstations to do simple tasks and generally interface with the big iron the company had became normal, enter the mainframe. The programs lived mostly on the big iron with a simple bit on the workstation.
Workstations became consumer available, woohoo, programs lived every where and worked well on their little island of a machine.
Then the internet came and broke the rules, the islands were now connected, this is a good thing. Programs continue to live everywhere but the data is moved about and we start to see protocol's being well defined and utilised to standardise the flow between machines.
The it was possible to carry around a pretty decent computer in your pocket, that could connect to the internet. All of a sudden the rules are now really changing there's a vast amount of data being created and stored somewhere (in the cloud, a term that I hate) but the little pocket devices are quite beefy enough to crunch everything so we still have powerful machines that want to use the data so we have protocols to transfer from the pocket to the machine via the internet.
Now the game has once again been changed, in order to make use of the huge amounts of data we must now process it in a different way, plus users expect to be able to see results on their pocket devices so now we have cloud computing and microservices taking hold, again all good things.
The language that's used to describe the programs that these programs use no longer has to be the same across all platforms involved in this well connected equation, and indeed why would it, why would a language suitable for describing the gui on a phone be every bit as useful as describing the mapreduce functions required to process BigData (another term I hate).
So here's the important bit all of these things can be written in whatever language they like, to run on whatever platform is appropriate the important bit is the protocol allowing communication between them, I love vert.x for this polyglot is amazing so let's use it and stop having petty arguments about whose language is best erlang, C#, java, scala, Haskell, lisp who cares it's all about the data and communications so once again I say the protocol is king!