This page is intended for people new to Java. You probably got here by first visiting my main Java page. After you've digested this information, you may want to visit my page for Java oldies, for people who already know the basics and just want to use Java. To use Java on the CS Lab machines, see my page about using Java on the CS Lab machines.
Java is a fully-featured programming language. It is wholly object-oriented, multithreaded, has garbage collection, and is net-aware. It has been designed with security and portability in mind.
There are two kinds of Java programs: applications and applets.
An application is a standalone program, i.e. it doesn't need to be run inside a web browser. Applications may open up many windows and dialog boxes on your screen, like any other windowing program. Then again, you can always write Java applications without a windowing interface: standard I/O programs are easy to write as well.
Linux and OS/2 support Java applications directly.
An applet is a Java program that is embedded in a web page and is run via a Java-aware web browser. When a user loads a web page into their Java-enabled browser, a Java program is loaded as well. The program runs automatically, and presents its results, or interacts with the user, in a square region of the web page.
Most common web browsers now support Java, including Sun's HotJava, Netscape Navigator (2 and later), and Microsoft Internet Explorer.
Becoming a developer
If you want to develop Java applications, you have a few options.
If you're on the local CS Lab machines, then follow the instructions in my Java on the CS Lab machines page. The Java Development Kit (JDK) version 1.1.3 is installed here.
If you're using Solaris, Windows 95, or Windows NT then you can get a copy of Sun's Java Development Kit for any of these platforms. Sun does not charge for them. As of July 17, 1997 the latest version is 1.1.3, a bugfix version.
If you're using OS/2 or AIX, you can get IBM's port of the development kit from the IBM Centre for Java Technology. Or you can purchase their VisualAge for Java integrated development environment. IBM wants Java to succeed.
A team of volunteers has ported Sun's Java development tools to Linux. Generally speaking, the Linux ports lag Sun's releases by only a couple of months, and are quite usable. See the Java-Linux Web page.
Since first creating these pages in the spring of 1996, a gaggle of
development environments have been released. Even
Microsoft has one. :-)
It appears Java is here to stay.
Programmer's documentation by Sun
Important: Sun does not allow their Java documentation to
be redistributed via the web. They want to make sure
everybody gets up-to-date information. However, they do allow
intra-departmental distribution as I've implemented here.
The following are local copies of some of Sun's documentation, accessible only through the UofT's CS Lab filesystem. The originals may be found at Sun's Java documentation web site. Beware that as of June 1997, not all Java implementations support the 1.1 API.
Addison-Wesley publishes the official Java documentation as regular books, The Java Series. But since it's printed on paper, it's likely out of date, at least for the summer of 1997. Visit your local book store.
A reasonable path to learning Java is to read the first two documents in sequence. The JDK documentation is useful mainly during coding.