If, as reported, entertainment giant Paramount throws its weight behind the Blu-ray high-definition DVD format it would seem like a vote in favor of using Java (Sun PDF here) in digital TV entertainment. While for some this might not seem and obvious association and might be considered a completely new departure for Java by many …
Surely this is old news?
6 or 7 years ago I was chatting to the guys who developed the transmit side of satellite/cable TV at Canal+.
They described the market then as "Java for the set-top box, Ada for the transmission". The reason? If a STB crashes, 1 person can reset it locally and not too much damage done. If the transmission system crashes, there's a hell of a lot of advertising revenue that can be lost!!
Why java wasnt used originally
The reason java wasnt used is because it needs a lot more processing power and memory than c. The boxes are much more expensive to make (or were when digital stb's originally came out) and Sun didnt want to make a cut down version of java. I remember seeing some early attempts at java powered boxes and they were painfully slow.
The big weakness of J2ME on mobiles, is that each handset vendor creates their own implemention of the platform - trying as best they can to stick to the spec. Even ignoring the various extensions, the reality is that each implementation is slightly different, partly down to vagueness in the spec. and partly down to bugs in the implementation. This means that, in practice, you cannot assume that a J2ME app that runs on one handset will run on another - (even if they are from the same manufacturer!) This places a huge burden on developers to try and test on every handset on the market (oh and of course even the SAME handset can have different firmware for different networks).
If Java is to succeed in the Digital TV field then there needs to be a single implementation of the core VM and libraries - leaving just device drivers to the set-top vendors. The obvious approach (and therefore the one least-likely to be taken!) would be to create an open source, or at least a community-based project to create such a platform. Sadly something tells me this is unlikely.