Harry,
The bugaboo surrounding interpreted languages has always been that they are too slow. Years ago, the only "serious" languages were those that were compiled. A program that already has the binary op-codes that are directly fed into the cpu is going to have some speed advantages over a program that has to be parsed by another program (an interpreter) on the fly before those op-codes are created. Java is no different. However, the clear benefit of an interpreted language is its portability, a feature that is completely foreign to a program in a proprietary binary format. Another feature of interpreted-language programs is their ease of maintenence & testing.
Java will have the reputation for being slow with sophisticated applications until some improvements are made: embedding part of the interpreter in firmware and cacheing sections of the byte-coded source will help. Another stumbling block is http, a notoriously slow application-level protocol. A better selection would be nfs, which, I believe is now supported in SUNW's Java.
I've heard that these improvements are already in the works. Unlike MSFT, SUNW is good at solving technical problems with creative, well-engineered solutions. They already have the most sophisticated Operating System design and implementation in the industry and can easily apply that software technology to optimizing their Java interpreter.
Java may never run as fast as a c or c++ program, but it may run fast enough for most applications. That prospect, along with the great advantage of cross-platform independance should propel Java forward in the marketplace.
cheers,
cherylw |