louis martin
cns news & features

Silicon Valley--

Java appears to be a dream come true. Portability of software across all computing platforms with advantages over C++ such as dynamic loading and "garbage collection"--mundane-sounding till you have to do it manually. The opportunities for distributed computing, allowing easy access to large data bases, is utopian.

Does this mean there will be more Java and fewer C++ applications written in the future? "Yes," said Terence Parr, Director of the MageLang Institute in Palo Alto, an organization dedicated to Java instruction. "If no one screws it up," he added.

What might put a damper on Java would be the lack of a "decent" compiler, said Parr.

Java Compilers Now

Currently, Java is interpreted on the client side by the Java Virtual Machine in the browser. Thus a Java-enabled Internet browser can run applications with Java "applets" or programs, but they run much slower than compiled code.

While "slow" may be fast enough for many applications, it is not fast enough to compete with programming languages like C++ in the real commercial world. If the promise of distributed computing is to become a reality in the main-stream world of business computing, Java needs to run at comparable speeds to C++.

The "Just In Time" compiler or JIT is said to be the answer, or at least part of it. With the JIT, partially compiled code is sent to the client. Because it is unknown what type of operating system the code will be run on, the code cannot be fully compiled before it is sent. This is the price of portability across platforms.

Only recently have JITs become available.

In April, Symantec of Cupertino announced JITs for Windows and Mac. They come with Symantec's Java development tools called Java Cafe. SunSoft of Mountain View has a similar set of tools aimed at the Unix environment but no JIT for Unix yet.

Microsoft has plans for Jacarta--known internally as J++--aimed at the Windows environment, but no official announcements have been made.

While JavaSoft, another division of Sun, will likely offer a Windows version in the future, Symantec's focus appears to be on the Windows and Mac environments. Said Roger Bowman, Development Relations Manger at Symantec, "Definitely our core competencies reside in the PC and Macintosh."

At this point in time, Symantec and the two Sun software groups appear to be staying out of each other's way--content, it appears, to see the market grow.

Java Future

The next upcoming product from Symantec is likely to be a "data connectivity" tool rather than a JIT for Unix.

While Symantec has a C++ product and does not envision its obsolescence, the company sees a demand for the kind of development tools for Java that are available for C++. "The demand from the [Java] community right now is that we bring all the latest C++ development tools technologies into the Java world and advance it even," said Bowman.

For Java to take on C++ applications, it must offer at least comparable speed, and according to Bowman, Java speed is improving. Admitting that benchmark studies are not infallible, Bowman cited one study showing the Java Virtual Machine taking 45 seconds to complete a benchmark routine, C++ taking 8 seconds, and the Symantec JIT taking 14 seconds.

"Both are dramatically faster than the 45-second interpreted model from Sun, but there is still a little bit of variance between C++ and Java."

Future versions of JITs, as well as help from Java chips, will change that, said Bowman.



Return to Technology Page?

Return to Main Page?