. I examined not so much the quality of the supplied development tools but rather the new and improved APIs and their accompanying specifications.
Function over Form
The full JDK consists of two downloads. One is an archived file of all the command-line development tools and run-time support files; the other is the documentation. As of this writing, JDK 1.1 is available for the Solaris and Windows 95/NT platforms. Other platforms will certainly be available soon.
The JDK comes with
all the tools
you need to build and run Java applets and applications. You get a compiler, a debugger, Java VM, an applet viewer, and other accessory executables that support some of the new security features and the Java archive file format (JAR, explained later). The JDK also includes all the necessary Java class files.
But the JDK is not a visual development system, like Microsoft's J++ and Symantec's Café, nor is it supposed to be.
Rather, it's a hands-on laboratory for the evolving Java environment. It is simultaneously robust and primitive -- robust in the sense that you can construct and run full-blown and ready-to-distribute Java applets and applications, and primitive in the sense that the package's tools all run from the command line. (That includes the debugger -- and there are few things that are more primitive than a command-line debugger.)
New and Improved
The package's list of enhancements and additions is long (see
"New in JDK 1.1"
), but some of them stand out as truly significant. Most striking are the changes to the Abstract Windowing Toolkit (AWT), whose Win32 version's internals have been complete-ly rewritten. In addition, the AWT's new event model promises to improve performance as well as help programmers write more-comprehensible code (see the sidebar "Inside the Delegation Event Model").
The aforementioned Java archive file specification, JAR, spells out the form
at for bundling an applet's components -- classes, images, and sounds -- into a single compressed and optionally secure file. (One of the supplied tools builds JAR files.) Because each individual file transfer through HTTP requires its own separate TCP virtual circuit, archiving applet components into a single compressed file means that 1.1-compatible servers will deliver applets to browsers faster.
Java Database Connectivity (JDBC), the documentation for which is a sep-arate file that prints out to a small book, brings Open Database Connectivity (ODBC)-style database access to Java. The JDK's supplied JDBC-ODBC bridge software implements JDBC via ODBC, allowing you to experiment with JDBC using ODBC drivers.
Rounding out the more important additions to this release are new wrapper classes that the Java language should have had to begin with: wrappers for byte, short, and void primitives. A new numeric class,
bignum
, enables programs to manipulate numbers of arbitrary precision. You can a
lter the rounding behavior of the
bignum
class, and therefore optimize its precision, depending on whether your requirements are toward scientific or business computing.
Good News and Bad News
Java programmers and users have plenty to be happy about with the release of JDK 1.1. The improvements in the AWT's performance should be apparent to anyone running applets in a 1.1-compatible browser, and the AWT's new event model will make Java developers' lives easier. The inclusion of JDBC is already spurring the appearance of JDBC development systems (e.g., Symantec's Visual Café Pro), and the remote method invocation (RMI) API opens the possibility of distributed Java applications.
Tarnishing the flip side of the coin are the usual corrosives accompanying any software upgrade: Programmers who invested time and mental energy in those elements of Java that are either changing or being eliminated will have to shift some mental gears. Happily, the JDK 1.1 documentation of
fers some guidelines for upgrading existing source code, and JavaSoft has taken substantial steps toward providing reasonable backward compatibility. For example, the new AWT will continue to support the previous event model. I was able to compile and run BYTE's Java benchmark suite (jBYTEmark) with no problem, even though jBYTEmark was built using the old event model.
By all means, if you have not yet downloaded JDK 1.1, do so (it's free). But recognize it for what it is: not a commercial Java development package, but a source of valuable documentation and a well-engineered testing ground for the next generation of Java programs.
Product Information
Java Development Kit 1.1..................Free for noncommercial use
(runs on Windows 95/NT or Solaris)
JavaSoft
(a business unit of Sun Microsystems, Inc.)
Cupertino, CA
Phone: (408) 343-1684
Internet:
http://www.javasoft.com
Circle 976 on Inquiry Card.