HD-DVD folds, Java comes out on top
![ed-burnette.jpg](https://www.zdnet.com/a/img/resize/08cf582e61e184f25136093f10e33d96d600a858/2014/07/22/5875e855-1175-11e4-9732-00505685119a/ed-burnette.jpg?auto=webp&fit=crop&frame=1&height=192&width=192)
The high-definition DVD wars are over and Blu-ray is the winner. While it doesn't happen very often, in this case the technically superior choice won out over the cheaper and first-to-market leader. One of the best features of Blu-ray is a Java virtual machine and platform called BD-J.
![HD-DVD folds, Java comes out on top](https://www.zdnet.com/a/img/2014/10/04/2a8af1dd-4b82-11e4-b6a0-d4ae52e95e57/bdromapplicationlayerstructure-475.jpg)
BD-J is the latest in a long line of Java-based platforms designed for home entertainment. BD-J is based on the Globally Executable MHP (GEM), which forms the basis of most global digital television application standards. These include:
- Multimedia Home Platform (DVB-MHP) for broadcast, satellite, and cable worldwide
- OpenCable Application Platform (OCAP) for North American cable, and
- Advanced Common Application Platform (ACAP) for US broadcast
Information for developers specific to BD-J is sparse. Amazon lists a rather pricey book on Programming HD DVD and Blu-ray Disk, but I haven't read it. The Blu-ray Application Development site has several guides and tutorials to get you started if you're interested in Blu-ray development.
Since all GEM-based standards are built on top of Java technology, a good introductory book on Java is recommended as well. Keep in mind, though, that BD-J is a pared-down version of Java, so it doesn't have all the bells and whistles you'll find on the desktop versions like Generics. Some would say that's a good thing.