Conceptually understanding Java in 10 minutes without getting lost in cyberspace
Java has generated more interest in the computer industry, particularly in regard to the Internet and multimedia, than any other product during the summer and early fall of 1995. Its impact on the World Wide Web could be as dramatic as the spreadsheet was for PCs. Some have described it as the great enabling technology for electronic commerce. Others predict it will change the software distribution industry and how software providers or ISVs go to market. Still others say it will help level the playing field relative to that small company based in Redmond. So what exactly is it?
Java is a software technology โ actually a computer language โ available for the Internet (albeit useful on plain vanilla networks or as a standalone language). Developed by Sun, it has some very special properties. With Java, applications can be requested by a user over the Internet and run on a local machine. The sender need not know what the user environment looks like in terms of either hardware or software. And Java makes virus transmission almost impossible.
As a language Java looks like a simpler version of C++, so the developer community has a minimal learning curve. Whatโs more, Java is a secure language, the most secure language available on the Internet.
Benefits
Because Java is platform independent, software developers need to create and test only one version of their application โ they donโt need to write or maintain separate versions for Macintosh, Unix, NT, Windows 95, etc. In the future, those considering investments in hardware or operating software wonโt have to worry whether a specific application runs in their particular environment, since Java will run virtually anywhere.
For system administrators and information technology executives, Java simplifies revision control and access control because it requires only one copy of the software in one controlled location. This single application just gets loaded to a user at run time. Process and administration is left to those who do it best, without imposing on the flexibility and individuality that PC and workstation users have grown to love.
A new paradigm is born
For software providers, the Internet represents a free distribution medium. More significantly, it gives them equal โshelfโ space to the mega companies, and simplifies release and update distribution.
Some experts see the software sales model changing from a fixed purchase price to a potentially more lucrative per-usage scheme. For example, a user might buy a 50-use package for .99, as opposed to a one-time purchase price of 99 that provides unlimited use. Not only will software suppliers likely make more money in the long run, but at the smaller price, bootlegging becomes less attractive.
Structurally the model changes, too. Module packaging becomes different โ the word processor gets separated from the spelling checker and the grammar checker and the graphics piece. If you use the word processor and not the graphics or grammar checker, why pay for the suite?
Software providers also could better control who has their software and gain better access to users without having to pray that the warranty card or fax or dial-up registration is completed. Shipping an updated release would be a thing of the past: The next time the user downloads, they get the upgrade.
This new paradigm has significant implications for electronic commerce, from plotting your portfolios with live data and what-if options to securing a hotel reservation while viewing a walk-through of the various room options. Not surprisingly, the game industry is looking at Java very seriously. Advertising, retail, and transaction-oriented applications will realize significant benefits. To send a new home banking package out to fix a bug or add a feature, companies such as financial institutions used to have to contact all their users. Now such improvements can be implemented automatically.
Finally, for the computer industry, Java technology is open and essentially free. Like the NFS approach that Sun pioneered in the 1980s, choice of hardware and software is left to the user, as it should be.
How does this work?
Instead of being written and compiled in a traditional way (that is, for a particular platform), programs written in Java are platform independent. The resulting code (called an applet) is what gets shipped across the network. One of the special characteristics of Java is that it does not allow pointers outside of its own code. External pointers, which Java prohibits, are a prerequisite for viruses as we know them today. To do damage, code must get out of its own memory space, so a legitimate Java applet cannot transmit a virus. On the user side sits a program (a HotJava browser, for example) that performs two tasks. First it checks the applet syntax to ensure itโs a legitimate Java program. Then it executes the applet, supplying the required information relative to the userโs environment. Users need the runtime Java interpreter that checks the code, then executes the applet. The interpreter is installed on the users machine either as a part of a browser that plays the applet or as part of a larger OS.
Where is Sun in delivering and supporting this technology?
Java binary is available on the Internet at no charge. Sun is enabling individuals and companies outside Sun to port Java to any platform they want to, free, as long as they contribute it to the public domain. More than 30 ports are now underway. First customer shipment is now available from Sun for the following platforms: Solaris, Windows NT, Windows 95, and most recently the MacOS. This cross-platform availability will make Java truly ubiquitous, a key factor in its success. (For information on Java training, see the sidebar.)
Some early evidence illustrates Javaโs broad impact:
- Hundreds of thousands of copies of the alpha and beta were downloaded, and they exhibited production-quality stability.
To date an estimated 1,000 or more applets already exist. These range from games to financial services.
A developers conference is being scheduled for May. And Netscape and IDG recently announced a conference set for March 5-7 that focuses on Java and JavaScript.
- Recent announcements about Java have come from companies such as IBM, Microsoft, SGI, Toshiba, Oracle, Borland, Netscape, Adobe, Macromedia, and Spyglass. Twenty-five companies have announced support for JavaScript. (JavaScript is aimed at non-programmers to facilitate Web page design.) Sun, SGI, and Macromedia have announced intent to deliver APIs for 3-D based on Java and HTML.
Who else was playing in this space?
There was only one other significant player in this space. Microsoft urgently had a project underway called Blackbird. Industry pundits have described it as an authoring tool for Visual Basic and/or C++. It therefore would not have been a secure Internet language, certainly not a platform-independent or network-oriented product.
In short, Microsoftโs only option was to embrace Java. Microsoftโs stated intent will be to utilize Java in its explorer browser and will support JavaScript in explorer. Microsoft backpedaled on its commitment to Blackbird publicly just last week.
Coupled with IBMโs announcement for AIX, OS/2, and Windows 3.1 support, Java is now the de facto standard.


