Despite the comment threads already going on, there are a few reasons why C/C++ isn't being used:
...
3) Most interesting to me is that by distributing code in a bytecode form, you get platform independence without having to distribute source. Device manufacturers can write a driver, distribute in bytecode, and not have to compile for every architecture, kernel version, etc. Nor do they have to distribute source, which somewhat protects trade secret interests (I know, bytecode can be easily reverse-engineered. But it's a "see no evil" effort, in my opinion).
Hope that made vague sense.

