To: Prognosticator who wrote (709 ) 2/9/1999 3:56:00 AM From: Javaaah Read Replies (2) | Respond to of 1606
Prognosticator, Don't place your sell order just yet :) There are bound to be two camps in the embedded market regarding Java. One camp uses Java to produce a ROM'd application that performs its given sole purpose in life. Once the device has been manufactured and shipped, it ain't interested particularly in any new Java classes running on it. Call this the "static" market. The other camp envisions Java as the way of making the device future-proof: field upgradeable, reprogrammable, etc. This of course is the whole drive behiond Sun's Jini, where devices shunt around Java on the fly to each other. Call this the "dynamic" market. Its very attractive for a lot of reasons, and I think that key manufacturers considering Java will fall into this camp because of the flexibility it offers (especially manufacturers in the consumer device market: phones, set top boxes, videos, etc.) ... they can dream up new uses for the device long after its left the factory!! Ahead of time compilation (AHT) addresses the static market ... its purpose is to produce a ROMable image of the Java app to embed along with whatever form the VM takes to provide the required runtime support. The runtime must support dynamic class loading, to be Java compliant, BUT the emphasis here is that such classes will execute using a bytecode interpreter. Only those Java classes compiled via AHT into the ROM will be fast. Just in time compilation (JIT) is the desktop solution for getting reasonable performance, to avoid interpretation, but is very hard to get working in embedded devices without the device running out of memory, or compilation just being abandoned after some point. I believe one company claims to have a JIT for embedded (Transvirtual), but that is NOT a Java compliant solution (i.e; as per Sun's requirements). In fact there are incredibly few Java compliant solutions at the moment. Insignia's approach of dynamic compilation is meant to solve the problems of performant Java, regardless of whether that Java appears on the fly. Presumably it ain't going to be as fast as AHT produced code, but its going to be a lot faster than interpreted Java. So: static market ==> AHT for performance, small memory etc. dynamic market ==> Insignia's JENE for performance, small memory etc. Hope this calms the nerves. Mind you, this is a "forward looking statement" as they say :) Javaaah