Actually that's bullshit
Running the same code, or even code written in the same language on different devices is not very important. In fact if you do so you will most likely encounter certain problems:
1. Your protocols and data formats will be rather badly defined, you might even just copy blocks of memory around (in languages like C) or use the dangerous serialisation and de-serialisation methods your language provides (for example in Java). Even in less bad cases your format will be defined by code, not by some specification you wrote. That's usually a bad idea.
2. You will encounter certain problems. While it may be possible to code firmware for a micro controller in your unified language of choice, you will certainly hit hardware limits much earlier. Storing even a 10 kilobyte runtime on your controller means having to choose one with at least 16 kilobytes of flash when one with 2 kilobytes would have done otherwise. That's many cents per controller.
3. You don't actually gain much, as all the cool features you like from your favourite language won't be there in the down sized embedded version. Or if they are available they consume more memory than you have.
However I can see how such an idea might look appealing to people in the Windows world. There you often have binary file formats or XML. Getting data from one program to another is already hard if you use the same programming language, inter language communication between programs is largely unknown. Windows people never grew up in a world of simple reusable tools which use simple text formats as an input and similar formats as output.
In a way standardizing on one language/codebase is like standardizing on one graph:
http://dilbert.com/strip/2015-11-18