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."