Here's a potential replacement for C on micros.
http://dlang.org/comparison.html
...
Yeah, but will anybody care to write a D compiler for ARM, for Atmel, for Freescale's PowerPC (Esys) cores or even more obscure stuff (Infinion Tricore or Freescale eTPU)?
Writing/adapting a compiler for a specific core architecture is not an easy task. Optimization strategies differ, pipeline effects have to be considered and so on. Even between cores of the same family, the command set differs. There are even cores with two switchable instruction sets, dedicated SIMD or floating point engines with very specific implementations etc.
The only reason that we can develop for ARM and Atmel with freely available compilers is that C was and is of such importance that GCC was started as open source project.
Anyway, in industrial applications with safety to consider, you usually want to use a compiler which has certain certifications and guarantees to work around known errata of the supported cores.
This means though that some software vendor like BlueRiver and the likes is interested to develop that compiler for you - which they only do if there is enough demand for it.
And honestly, for the next ten years to come, the Demand for C/C++ will be much higher than for somewhat exotic languages like D or Rust or whatever.
So on a microcontroller it's not like on the PC where you can decide freely which language to choose for a project. In the end you kinda need to use C since there is simply no other (stable, robust, certified, performant) other compiler available. The only chance would be to use a higher level language or symbolic tool that creates C code which then needs to be compiled by the default C compiler. Problem is that this increases build time and makes it very hard to debug. Also chance of tool/compiler errors increases.