Java - An Exciting World of Opportunities

by David Mounce

It started life as a programming language from Sun Microsystems, Inc. though, incredibly quickly, Java has come to mean any of the following: Most of the tools in the JDK are written in Java and run on the Java virtual machine, no matter what your hardware. Even Sun's HotJava Web Browser (originally written to demonstrate the potential of Java in its early alpha code days) is more than just a browser - it's a complete platform-independent application in Java.
 * The Java language (a subset of C++)
 * The Java virtual machine
 * HotJava (Sun's own Java-enabled Web Browser program)
 * IBM's implementation (for OS/2) of Sun's Java version 1.0 programming environment (JDK for OS/2).

Platform-independence is the really neat thing. It's not new, of course, but for the first time, a large section of our industry is supporting what looks dangerously like the standard for programming on the Internet.

What Part is IBM Playing?
Within IBM, the software development laboratory at Hursley (near Winchester, in the South of England) is now home to the IBM Centre for Java Technology Development. A team of programmers is porting Java to a number of platforms. The first two code ports are to OS/2 Warp and to AIX.

Other teams within IBM are working on related developments: application development tools, compilers, Java-enabled Web Browsers, and so on.

What Do You Do With Java?
Well, one thing it's used for is creating "executable content" for Web distribution. Sun's own Home page on the Web at one time put it this way:
 * "Java is a simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multithreaded, dynamic, buzzword-compliant, general-purpose programming language."

I guess they mean you can do just about anything you like with it!

You must be aware by now of the impact Java has been having in the world at large. Back in September 1995, for example, the New York Times (25 September 1995) had this to say:
 * "Currently, the Web, for all its multimedia marvels, which include text, images and even sound and video clips, is a fairly static medium. A computer user connected to the Internet can visit Web sites, but doing so is similar to watching the world through a storefront window. Java essentially removes the glass from the window... Java is designed to permit small application programs called applets to flit back and forth between computers on a network..."

At the end of last year, the Wall Street Journal (7 December 1995) offered:
 * "Java, a programming language for interactive Internet programs that relies on a radical change in software design. Instead of playing (sic) only programs that reside in a PC, tiny Java programs called 'applets' can be sent over the Internet and run by browser software. That means that users don't need a particular machine or operating system, and might even rent code rather than buy conventional application programs."

And, here in the Hursley Laboratory, we've been running a series of seminars on aspects of Java programming. Let me quote from one of Dave Mitchell's handouts...

"An applet is a Java program which is invoked by a Java-enabled Web Browser when the user browses a page containing an tag. When such a page is being formatted by the browser, the applet tag causes it to send a request to the server for the applet code and when it arrives, to start running it."

This code is downloaded as a file (of 'bytecodes') that describes the execution of the applet. The Java-enabled browser (or helper application such as our OS/2 applet tool) interprets these bytecodes, running them as an executable program on your PC. Simple, really.

If the level of activity on the comp.lang.java newsgroup is any guide to worldwide interest (there are literally hundreds of articles being posted there every day) you can see we've got a pipeline into some really hot stuff brewing, with lots more to come. Java may be the key that lets the Internet finally come of age.

See it for Yourself
This volume of the Developer Connection for OS/2 provides not only the IBM's implementation (for OS/2) of Sun's Java version 1.0 programming environment or Java Development Kit (subsequently referred to as JDK), but, in addition, we are delighted to be able to provide you with the IBM WebExplorer Java Demo for OS/2.

You must install the JDK for OS/2 prior to installing the WebExplorer.

The JDK for OS/2 consists of the following elements.

1. RUNTIME ENVIRONMENT for Sun's Java Programming Environment. This is IBM's implementation (for OS/2) of Sun's Java version 1.0 programming environment. Visit IBM's or Sun's Web sites to find more information:

IBM's web site at http://ncc.hursley.ibm.com/javainfo/ Here you will find useful information about on-going Java related work within IBM. There are also a number of Java mailing lists to which you can subscribe and ask questions. Although not an official support channel, the mailing lists are monitored by IBM.

Sun's JDK 1.0 web site at http://java.sun.com/JDK-1.0 Here you will find information on a wide variety of JDK 1.0 related topics.

2. DEVELOPMENT ENVIRONMENT for Sun's Java Programming Environment. This is IBM's implementation (for OS/2) of Sun's Java version 1.0 programming environment.

Installation: The Java development toolkit requires the Java runtime environment to be installed. The development toolkit should be installed on top of the runtime environment and requires an HPFS partition.

Contents: The development environment contains the javac compiler, C header files & libraries for building native methods, and the debug versions of all executables.

Summary
A good starting point is the Web site that the IBM Centre for Java Technology Development (http://ncc.hursley.ibm.com/javainfo) has set up. You can use the IBM WebExplorer Java Demo for OS/2 contained on the DevCon for OS/2 CD-ROMs to browse this site. From the image map on this site (which has rather a subtle little applet behind it) or by using the hypertext links below the map, you can follow various links to keep up to date with our progress. If you're not a habitual Web surfer, use the listing of our Web sites below.

We look forward to hearing from you!

Java: Where to go to find out more
The IBM Centre for Java Technology Development maintains a variety of Java-related Web sites. In the "Information/News" section you'll find:
 * Some reasonably up-to-date news http://ncc.hursley.ibm.com/javainfo/news.html
 * A summary of what's changed recently http://ncc.hursley.ibm.com/javainfo/audit_trail.html
 * Answers to frequently-asked questions http://ncc.hursley.ibm.com/javainfo/faq.html
 * Our porting status http://ncc.hursley.ibm.com/javainfo/activities.html
 * News of the 1996 IBM Technical Interchange in April 1996 http://ncc.hursley.ibm.com/javainfo/techint.html
 * JavaOne** Conference news (May 1996, co-sponsored by IBM) http://ncc.hursley.ibm.com/javainfo/javaone.html

The "Fun" section gives you some cool links to try out - we'd be delighted to hear of more... http://ncc.hursley.ibm.com/javainfo/cool_links.html

Most important, from our point of view, is the "Downloading" section, where you can register to gain access to our private Developer Area. From there, you can download later versions of the JDKs that we've ported. http://ncc.hursley.ibm.com/javainfo/dev_reg.html

If you want to keep an eye on us, why not register for information? http://ncc.hursley.ibm.com/javainfo/info_reg.html

In either case, you're very welcome to take part in the online discussions in our mailing lists. http://ncc.hursley.ibm.com/javainfo/forums.html

We very much want your feedback on what we're doing, so we've made it easy for you to send us e-mail. http://ncc.hursley.ibm.com/javainfo/feedback.html

Footnote

 * Java, HotJava, and JavaOne are trademarks of Sun Microsystems, Inc.