
Since it first became available in beta version less than a year ago, Java has captured the imagination of Web developers, enabling them to turn the static world of "home pages" into animated "home movies." In clinical terms, Java is an object-oriented programming language developed by Sun Microsystems.
But it's also much more - it's bringing about a revolutionary new paradigm in computing. Thousands of programmers are using it to create all imaginable types of Java applications for the World Wide Web, transforming the Web from an electronic medium modeled on text and pictures, much like a book, to a truly interactive experience with unlimited capabilities.
With the goal of making Java an industry standard, Sun has been aggressively working with many other companies to see that the language is included in browsers and on numerous computing platforms. Java capabilities are now incorporated in our own HotJava World Wide Web browser, as well as in the current version of Netscape's Navigator 2.0 World Wide Web browser, Spyglass' Mosaic browser and Oracle's PowerBrowser. In addition, Java is being utilized by IBM, Microsoft, Borland International, Macromedia, Metrowerks and others as part of their overall Internet strategies.
What Does Java Do?
For computer programmers, Java provides a comprehensive solution to the challenges of programming for the Internet
and the World Wide Web. For end users, Java is already changing the computing paradigm from one of memory-intensive packaged software applications to free software applications available on the Internet. Within the academic community, Java provides tremendous opportunities for creative, ambitious programmers and is being incorporated into the college curriculum at a variety of schools and in diverse class settings - with positive results already evident.
What Are Java's Benefits?
The Java language provides a state-of-the-art solution for delivering software code over the complex series of networks comprising the Internet - also solving the critical problems of portability, security, protocol interoperability and robustness without compromising performance. Java's three major benefits are the following:
Platform Independence: Java is a truly platform-independent environment. Java objects are shipped around the network in a non-machine specific, non-OS specific form.
Security: The Java language eliminates features that might permit the creation of viruses.
Interactivity: The ability to send bits of programs down the network that provide an interactive and dynamically extensible environment at the client site.
HotJava, Netscape Navigator 2.0 and Oracle's PowerBrowser - with Java capabilities - are "dynamic" Web browsers as compared to previous static browsers which were limited to text, images and low-quality audio. Users of first-generation browsers could only view a page, with any interactivity limited to fetching another page. In a Javatized browser, animations, audio and video, 3D capabilities and serious computing power can now be embedded in Web pages. Java enables the downloading of small software programs, called applets, which run locally on the user's computer. This seemingly simple feature is extremely powerful. It provides capability to add arbitrary behavior to the browser, transforming static pages into lively interactive sessions. The result is a browser that offers the instant response and rich media of a CD-ROM, with the global reach of the network and the ability to provide continuous upgrades.
What does Java Offer to Educators and Students?
A lot of the early Java development effort has already been taking place on campuses and within the academic community. Schools such as the University of North Carolina at Chapel Hill, New York University, Princeton and the State University of New York at Oswego have been some of the institutions leading the way.
For instance, last year SUNY Oswego replaced their C++ programming course, a required class for all first year computer science and mathematics students, with a course in Java. The result has been a significant drop in the attrition/dropout rate of freshmen from the computer sciences major. Doug Lea, computer science professor at SUNY Oswego, says teaching Java has proved very successful with their students. "Teaching C++ to first-year students was very difficult and often discouraging for students, but Java has helped solve this problem - while teaching them the object-oriented programming skills they need to know," said Lea.
Java is being used in a variety of applications across numerous disciplines at New York University. Within the Center for Digital Multimedia and the Media Research Lab at NYU, the power of Java has been incorporated into several projects involving collaborative applications over the network. These projects include moving research on improvisational animation to a more distributed view, incorporating Java into Pad++, an infinitely zoomable multiscale computer interface being developed in conjunction with the University of New Mexico, and studying the potential for more traditional productivity applications to be distributed across the Internet.
Within NYU's computer science department, the graduate level computer graphics course is being taught using Java and each project is assigned for Java programming. NYU professor Ken Perlin's class is adopting the traditional methods of teaching computer graphics and using the power of object-oriented programming, cross-platform advantages and network distribution aspects of Java to push the class forward. Students within NYU's Interactive Telecommunications Program are using Java as well.
At the University of North Carolina, home to the first of 20 Sun SITEs (Sun Software, Information and Technology Exchanges) - information sites on the World Wide Web which are largely maintained by students at universities around the world - numerous students have written Java applets which can now be viewed on the UNC home page. <http//:www.sunsite.unc.edu>
What other educational uses does Java have? We see Java being used for interactive teaching applications and training and incorporated into distance learning programs. Since Java is platform independent, instructors and students who use Java are spared the time and trouble of rewriting educational applications for various hardware platforms.
Sun Educational Services also offers several levels of Java classes, through which students of any age can learn to develop interactive, multimedia Javatized pages for the World Wide Web. You can get more information about these offerings from the Java home page (http://java.sun.com) Also available this spring from publisher Addison-Wesley is the Java Series of books, which will be widely available and should be of interest to anyone interested in learning about Java.
Getting Javatized
The Java Cup International
There are a number of opportunities - whether you have never seen or used Java or if you use it and want to show off your skills. March 31, 1995 marks the last day when Sun will accept applications for our Java Cup International Developer's Contest. Academic, business and individual developers may submit their own original Java applets for consideration in one of six categories including: educational tools, productivity tools, Internet and World Wide Web agents, and entertainment and games. A total prize pool of $1 million in Sun equipment and software will be awarded to the winners. Three winners per category will be chosen - two individual and one team prize - plus one overall grand prize winner.
Submissions for the Java Cup International will be judged on the best graphics, system friendliness, coding style, security, reliability, interactivity and innovation. Netscape, Oracle and Sunsoft are among the corporate sponsors of the contest; judges for the contest include Marc Andreessen, vice president of technology and co-founder of Netscape, John Doerr, general partner of Kleiner, Perkins, Caufield & Byers and a member of Sun Microsystems' Board of Directors, Dr. James Gosling, vice president and fellow of Sun Microsystems and lead engineer for the Java/HotJava system, Daniel Hillis, adjunct professor at Massachusetts Institute of Technology and co-founder and former Chief Scientist of Thinking Machines Corporation, Bill Joy, vice president, research and co-founder of Sun Microsystems, and Dr. Eric Schmidt, chief technology officer of Sun Microsystems. We look forward to announcing and showcasing the winners of Java Cup International this May 1996. For more information, check out the Java home page at (http://javacontest.sun.com).
Barbara Gordon is vice president of Academic & Research Computing at Sun Microsystems Computer Company. [email protected]