What is this thing called Java? And how might it revolutionize the Internet, if not the entire software business?
Java is a computer language that Sun Microsystems Inc. designed just for network computing. Any program written in Java can run in any computer or digital device, from PCs to machine tools. Sounds like like hocus-pocus? It's not. But there is a gimmick: To make the setup work, you must hide a separate Java "computer" inside each gadget.
The computer is a "virtual machine," a piece of software that lets any computer simulate, perfectly, an ideal and standardized Java computer. As far as any Java program knows, this simulation is the genuine article--a complete computer with disk drive, display, memory, and everything else. The virtual machine executes Java programs by "interpreting" their commands one by one and commanding the underlying computer to perform all the tasks needed to write text to a screen or pull data from a disk, say. There's a small penalty to be paid in performance because of this interpretation step. But the two-step procedure also helps: No Java program is allowed to really penetrate your computer, so you can be reasonably certain it won't unleash viruses to infect your system.
There's vast potential in this computer-within-a-computer scheme: It can let millions of otherwise incompatible computers all use the same Java software. At first, that will be limited to thousands of tiny programs--or "applets"--stored within pages on the Internet's World Wide Web. Already, such programs are livening up static Web pages with animated cartoons, rolling stock tickers, and little spreadsheets that instantly analyze incoming data. Millions of computers now have the Java virtual machine installed as part of Netscape Communications Inc.'s Web-browser software and Sun's competing package, called HotJava.
More important, though, Java's ability to hide incompatibilities could rewrite the rules of the software industry--on and off the Net. With Java everywhere, software companies would no longer have to create unique versions of their products for machines running Microsoft Windows, Macintoshes, and Unix workstations. They could be sure of compatibility even with computers not yet invented. Says Steven M. Milunovich, a Morgan Stanley & Co. computer analyst: "Java could bring about the total liberation of software applications from any [hardware] platform considerations." Or, as Sun says it: "Write once, run anywhere."
"MORE ORGANIC." And not just on computers. The virtual machine program is small--only 64,000 bytes--so it may even get used in cellular phones and TV sets. Eric E. Schmidt, Sun's chief technology officer, predicts that with Java applets on a wireless network, you might browse airline flight data on a phone's screen, book a seat, and pay for it. The phone would only need enough software to run the Java applets that come its way.
The possibilities are nearly limitless. EarthWeb, a New York Web developer, wants to let people shop online by dragging pictures of items into a shopping cart, for example. "Java's empowering a tremendous wave of new development by small developers who couldn't afford to work with Microsoft," says Nova Spivack, executive vice-president.
Most critically, Java looks like it will play a key role in bringing additional functions to the Internet itself. What makes the Net so powerful is its strict use of standardized protocols, which let all computers participate in complex services such as the Web. With Java, new protocols could sweep the Net in almost no time and help new, Netwide services get off to a flying start. By distributing bits of fresh Java code across the Net, you could automatically bring new capabilities--a cool new compression program for running video, say--to millions of computers instantly.
The effect would be to greatly accelerate the Internet's already frenetic evolution. "Everything becomes more organic," says Mark Pesce, inventor of VRML, a Web protocol for displaying 3-D objects and spaces. Indeed, the Java virtual machine is even able to update itself automatically by calling over the Net for the latest extensions.
Still sounds like magic? There are skeptics, to be sure. But if Java only lives up to a portion of what Sun promises--and what Java programming junkies predict--the Net and the millions of computer users who gravitate to it are about to get a refreshing jolt.
Java: "Hardware" Made Out of Software
The Java Virtual Machine is a compact program that could reside in any computer. Once it's there, the computer can run any Java applet that comes across the Network.
To make sure her financial model is always up to date, an analyst programs her computer to automatically reach across the Net for fresh stock prices. A Java applet handles all the communications and display duties.
HANDHELD COMMUNICATOR/FUTURE CELLULAR PHONE
Even a tiny gizmo can handle the Java client. A cheap handheld device, for example, could reach across the network and use a Java applet to book a ticket. The applet disappears as soon as the job is done.
The user orders an animation or film clip. The file comes back from the Internet, including the Java program--or applet--to play back the clip. The software stays on the machine to run other clips in the future.