What X Window lacks is the ability to execute application code on the client. I've already explained that to you. Java was designed to fill that deficiency. It was designed as a secure, robust, portable, object-oriented system for distributed computing. Technically it's a solid choice. Politically, Java is an open standard with the blessing of ISO and 90% its 20 plus member countries versus being a proprietary holding of an operating system monopoly. Practically it's has the support of Sony, Motorola, IBM, Oracle, thousands of smaller companies and over half a million individual developers.
Really, the only valid question you have is What is the value of executing code on the client device?, not whether Java is the best environment for doing which is a given for reasons I've already outlined. I am tempted to offer duh as an answer but let me continue. Java software is designed to control intelligent devices, not just dumb-ass monitors and dumb-ass keyboards. How the hell is the server supposed to control your device once it has interpreted a control function in your application? Moreover, the aggregate power of multiple client devices can quickly approach that of a large server, even a supercomputer. The idea is to leverage that power in a distributed manner such that clients handle localized issues locally. Note that they are adding printer support to Java which is an ass-backward but necessary step to leverage existing printer devices.
BTW, Microsoft claimed, not long ago, that the notion of running any client software on the server was brain-dead. Clearly the notion of running all of your software on the server is brain-dead and myopic, but that's not what Java is about. |