According to a VDC survey of embedded developers in 2010:
- C - 82%
- C++ - 45%
- Java - 13%
and it goes down from there. A more readable graphic can be found here.
Note that these answers are not mutually exclusive, i.e., someone might reply that he's using C, C++ and assembly, all in the same product. Thus, the percentages add up to more than 100%.
I was shocked to see Java at 13% - no system I would consider "embedded" runs Java, and I was also surprised that Ada only came in at 3%, although Ada tends to be found only in certain segments (avionics, defense, etc.) so I suppose it's plausible. Did I mention I find the 13% Java figure shocking?
Also, the term "embedded systems" is so broad - from 4-bit u/Cs with 16 bytes of RAM to 64-bit core i7 CPUs with 8GB of RAM, so it's difficult to draw any conclusions.
The only thing I can say after working on many, many embedded systems for many, many years (typical: 256K flash, 100MHz CPU, maybe 32K RAM) is that C is used in virtually all of them. And even though I love C++ (which puts me in the minority), I think 45% is "way high" based on my time spent with probably almost 50 firms.
One other point - even though assembly is present in virtually all embedded systems (even if just "boot code" and/or interrupt veneers), chips like the ARM Cortex M3 make it possible to write virtually 100% of the code in C or C++. Furthermore, the question asked "what languages developers use", not "what languages are used?". The distinction being that much of the assembly code in an embedded system is provided by an outside source (board vendor, toolset vendor, kernel vendor, etc.) and so the developer himself doesn't use assembly.