2. General Questions About Java and HotJava

Contents of this section

This section is a general (non-Linux-specific) introduction to Java and HotJava.

2.1 What are are Java and HotJava and why are they interesting?

Java is a network-aware language superficially resembling C++, but much smaller and more compact and cleanly designed. It's an unlimited-extent language with garbage collection like Lisp, but with strong type checking. It includes lightweight processes (threads) as a native facility and has powerful network-security features. So far, its major application is the HotJava browser, but it holds considerable promise as a general-purpose application language.

HotJava is a WWW browser written in Java. Its major advance over other browsers is that it knows about a new HTML construct called an APP, which is some Java class that executes on the client machine. Thus, WWW documents written with Java in mind can have "live" code objects embedded in them, as opposed to just data.

The ability to safely pass around code objects probably represents the most significant advance in WWW technology since the first release of Mosaic. At minimum, it delivers an extensible Web browser that won't need perpetual upgrading to handle new image formats and tag types.

2.2 Where do Java and HotJava come from? Who can use them?

Java and HotJava were developed at Sun Microsystems by a team headed by James Gosling (well known as the designer of Gosling Emacs and NeWS).

The last time Sun tried to set a major technical standard was NeWS, its Network Window System. Though NeWS was pretty universally conceded to be technically superior to X, X won because its sources were freely redistributable. Sun learned from this mistake, and has made Java/HotJava much more generally available; the sources can be downloaded under a fairly relaxed license (see Java as Freely Redistributable Software ). Sun is encouraging ports to non-Sun environments.

Netscape now interprets Java. Microsoft licensed the technology in early December 1995. So it appears that Java support will probably become universal in 1996.

Java used to be called Oak. HotJava was once known as WebRunner.

2.3 How mature is Java?

Java is currently (December 1995) in late beta at Sun. The Java environment API defining its access to the host OS and windowing system has allegedly been semi-frozen -- it may be extended, but won't be incompatibly changed.

The 1.0 version of this FAQ is being issued along with the beta 1.0 Java Developer's Kit (JDK) for Linux, ported by Randy Chapman.

Significant holes are known to exist in the Java security implementation. It is not yet a good idea to use Java for sensitive applications. These problems are expected to be fixed in the production (post-beta) releases.

2.4 Where can I find documentation on Java and HotJava?

Sun maintains an extensive HTML web of Java and HotJava-related documents at http://java.sun.com . These documents are mirrored at http://java.blackdown.com and elsewhere; see Sun's list of mirror sites.

2.5 Yes, but where can I find paper documentation?

SunSoft Press's official series of Java books is in the production pipeline at Addison-Wesley. Some details about these can be found in the comp.lang.java FAQ .

O'Reilly Associates is working on its own series of Java books in cooperation with Sun. These are expected to include (at least) a "Nutshell Guide To Java", a language reference, a class library reference, and a book on the underlying byte-code virtual machine. (Full-disclosure statement: Your HOWTO editor has been invited by O'Reilly Associates to serve as primary technical reviewer for this series, and will be paid for that work.)

Per information on Sun's java web pages, SAMS will be publishing in December, 1995, "Learing Java in 21 Days". I checked with the local (Vienna, VA) Computer Learning Center bookstore; they expect to receive their first shipment sometime in mid-late December.

One of our contributors, browsing his local Bookstop/Barnes & Noble/Borders, came up with 3 books already out:

Our informant continues: "I bought the 3rd one (by Tim Ritchey). Paper leadtimes being what they are, the CD-ROM only has alpha stuff, though it mentions that the beta version might be out by the time you read it and suggests java.sun.com as a place to get more recent information. Other than that, it's pretty good, even to pointing out that `well, it's pointless for me to spam you with pages and pages of API descriptions because 1) it would quadruple the size of the book and 20 they're still ch anging and 2) you can get that info online at ...etc'"

2.6 Where can I find on-line collections of Java code?

WWW archives of applets are available at the following locations:

Most of the applets on these pages come with source code, and programmers are invited to use them.

Pointers to others may be available in the comp.lang.java FAQ .


Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter