Hoping to put an end to Java performance complaints, Sun Microsystems (SUNW) will this month begin testing new, faster virtual machine technology. But--as with Java itself--some observers are questioning whether the technology can live up to its hype.
The technology, code-named "HotSpot," will be part of the next Java Development Kit (JDK), version 1.2, set to ship by mid-1998. Sun will make a developer's release of HotSpot available early next year.
With HotSpot, Sun is tackling head-on what could be the biggest complaint about Java: performance. While Java is rapidly gaining popularity among the corporate development community, the hands-down favorite of the IS crowd for all-out performance is still C++, the undisputed king of the hill in compiled program speed.
While C++ applications are compiled to native machine code, Java is an interpreted language which relies on virtual machine technology for its portability. The first wave of virtual machines simply interpreted Java programs line-by-line. A second generation of JVMs, called just-in-time compilers, turned Java into machine code at application runtime.
HotSpot, according to Sun, uses a technology called adaptive optimization to analyze each Java program as it runs and immediately optimize the critical "hot spots." By optimizing only the critical areas, Sun says the technology frees up time for more advanced optimizations. And since HotSpot analyzes each Java program, it presumably can do a better job at optimization than a static compiler, which simply complies an entire program without any sort of analysis. HotSpot will plug into JDK 1.2-enabled browsers and operating systems.
But Sun's claim that HotSpot will enable Java applications to run at the speed of compiled C++ systems is raising a few eyebrows.
"I've got to be very skeptical on that claim," John Biasi, director of application strategy at Hurwitz Consulting, said. "Sure, [HotSpot] improves performance, because there is tremendous room for improvement."
The problem may have more to do with adequate maturation time for a very complex technology, Biasi said. "Sun is doing a nice job--I don't mean to be too skeptical--but these things take time to mature. Other top notch engineers have had a hard time getting other languages to perform at top speed. Why does Sun think they have some short cut? How long did engineers have to optimize C++? If Sun would just turn down the hype machine and let this mature, they would be better off."
Biasi and other analysts report that Java is gaining popularity, mostly among developers enticed by Sun's "write once, run anywhere" claims. But few large-scale corporate Java applications are being rolled out, mostly because many of the underpinnings needed to build commercial applications are still in early stages.
"The language seems ready. But some of the platform support issues are not ironed out," said Mitch Kramer, an analyst with the Patricia Seybold Group. Kramer said HotSpot, along with other technologies, such as Enterprise JavaBeans, which will allow Java components to be snapped together to form larger applications, will make Java more appealing to both corporate developers and independent software vendors.
The bottom line remains unchanged. If people already know C++, they will continue to use it, Kramer said. IS developers will continue to delve ever more deeply into Java. "But, C++ remains a hard thing to learn. ISVs will stay with C++, because you can manipulate memory directly. That will always be faster than the indirect route with Java."
For IS developers, Java should be a tremendous benefit--eventually, Kramer said. "IS developers can be far more productive using Java," he said.
But all sides agree that unbridled hype can kill any technology, no matter how useful. And Java is at the critical stage. "People are getting frustrated, seriously," Biasi said. "People are becoming skeptical [of Sun's claims] because there is so much nonsense involved."
In particular, Biasi singles out Sun CEO Scott McNealy's relentless stump speeches for Java, and his tireless bashing of archenemy Microsoft. "When people start talking so glibly, that's usually a sign that there is something wrong someplace."