Java and the new Internet programming paradigm
An excerpt from <em>Rise & Resurrection of the American Programmer</em>
By Edward Yourdon, JavaWorld.com, 08/01/96
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
Page 2 of 7
What is Java all about?
In a nutshell, Java is an object-oriented programming language based on C++ that allows small programs -- or "applets" --
to be embedded within an HTML document. When the user clicks on the appropriate part of the HTML page to retrieve it from
a Web server, the applet is downloaded into the client workstation environment, where it begins executing. [Editor's note:
Since this text was written, the definition of Java has expanded beyond Web-based applets; Sun expects the language to be
used for all sorts of applications, and promises a Java operating system, Java microprocessors, and more -- and now refers
to Java as a platform.]
Java's origins go back to 1991, when Sun Microsystems began looking for ways to create platform-independent code to support
consumer electronic products. After some initial efforts with C++, the Sun project team abandoned it and created its own language
initially called Oak, later renamed Java. Oak first was used to create software for a personal, hand-held remote control device,
but when the project team lost a bid to develop a television set-top box for Time-Warner, attention switched to the Web. The
Sun project team then built a Web browser, originally called WebRunner and then renamed HotJava, in the Java programming language.
The rest, as they say, is history: Sun formally announced Java and HotJava at the SunWorld '95 conference in San Francisco
on May 23, 1995.
The relationship among Java programs (or "applets"), the Java-enabled browser, and the Web is illustrated in Figure 1. Users
access a Web page and pull it down to their client. In this case, though, the Web page contains an additional HTML tag called
"APP," which refers to a Java applet, and that applet can be located anywhere on the Web. If the user's Web browser is Java-enabled
(for example, Sun's HotJava browser or Netscape's Navigator 2.0), then the applet is pulled down into the user's client computer
and executed within the browser environment.

Figure 1. Relationship between Java applets,
Java-enabled browser, the user, and the Web
Java is often described as a "cross-platform" programming language; it's also common to refer to Java programs as "architecture-neutral
bytecodes." It has to be this way, of course, because the Web server that delivers the Java applet to the Web client doesn't
know what kind of hardware/software environment it's running on. And the developer who creates the Java applet doesn't want
to worry about whether it will work correctly on OS/2, Windows, Unix, and MacOS.
The key to Java, as used on the Web, is the notion of executable content, rather than static content. What capability does
this provide us? Thus far, most of the demonstrations and examples have involved fairly simple graphics -- a bouncing ball
on a Web page, for example. But there are some other examples you can look at, if you have a Java-enabled browser, of course:
- The Rolling Stones' Web site (http://www.stones.com) contains animated flags and a puzzle that allows the user to slide squares around to form the "tongue" logo.
- The NandO Times Web-based news service (http://www.nando.net/newsroom/nt/nando.html) displays a ticker tape of headlines about sports, politics, national news, and world news that scrolls continuously across
its primary page. Each of the four categories of news stories is illustrated with a picture; the pictures change in synchronization
with the news stories in the ticker tape, thus providing an interesting amalgamation of the best of TV and newspapers.
- ESPNET SportsZone (http://espnet.sportszone.com)provides an up-to-date scoreboard of football, baseball, and basketball scores.
- HotWired (http://hotwired.com) uses Java to animate its Web pages for the digital version of Wired magazine.
- Dimension X (http://www.dimensionx.com) has been working on Iced Java, a 3-D rendering engine.
- VPRO (http://www.vpro.n1), a public broadcasting organization from Hilvershum, Holland, uses Java to provide an automated, hands-off tour of its Web
site.
- Sun Microsystems (http://www.sun.com) has a number of Java examples and demos as well. This Web page links to several other important resources about Java; see
the references below for details.
The Java environment
The full Java Development Kit contains the following components:
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
Resources
- http://java.sun.com -- the primary page at Sun's Web site about Java. Links from this site take you to a variety of places for demos, release
information, documentation, etc. The anonymous FTP site for code downloading and distribution is at ftp://java.sun.com/ Subpages
describe the current sites and instructions for downloading HotJava, information about the latest release of Java, current
porting efforts, and up-to-date information on problems and requested features.
- http://java.sun.com/HotJava/index.html -- an overview of the HotJava browser.
- http://java.sun.com/products -- a list of JavaSoft products and services.
- http://java.sun.com/java.sun.com/aboutJava/index.html -- an overview of the Java platform.
- http://java.sun.com/doc -- the documentation for Java.
- http://java.sun.com/java.sun.com/applets/index.html -- information about and examples of Java applets.
- http://java.sun.com/java.sun.com/faqIndex.html -- Java FAQ (frequently asked questions) index.
- http://www.sun.com/sunworldonline/swol-07-1995/swol-07-java.html -- an article by Michael O'Connell on the origins and evolution of Java at Sun Microsystems, with a hyperlink to a page showing
specific dates and milestones.
- http://java.sun.com/mail.html -- to subscribe to the Java and HotJava mailing list.
- http://www.science.wayne.edu/~joey/java.html -- a listing of information about the HotJava browser, including the latest information on ports, maintained by Joey Oravec
at Wayne State University.
- http://www.december.com/works/java.html -- a book-support Web page maintained by John December (see book references below) with information about the latest released
versions of Java, as well as a full bibliography of Java articles.
- http://www.borland.com/Product/java/java.html -- Borland's Web page for its Java plans and products.
- http://www.ti.com/software/software.htm -- Texas Instruments' World Wide Web page for information about the Internet capabilities of its new Composer-3 application
development tool.
- http://www.parcplace.com -- ParcPlace, Digitalk's World Wide Web page for information about VisualWave.
- December, John. Presenting JavaAn Introduction to Java and HotJava. (Indianapolis, INSams.Net Publishing, 1995).
- Tittel, Ed, and Mark Gaither. 60 Minute Guide to Java. (Foster City, CAIDG Books Worldwide, Inc., 1995).
- Borland International. "Borland International to Deliver Tools For Sun's Java Internet Programming Language." Press release,
November 8, 1995.
http://www.borland.com/Product/java/javapress.html
- Cortese, Amy, John Verity, Kathy Rebello, and Rob Hof. "The Software Revolution." Business Week, December 4, 1995, p. 78ff.
- Cox, Brad. "`No Silver Bullet' Reconsidered," American Programmer, November 1995.
- Ess, Robert. "Sun, Metrowerks brew Mac Java." MacWEEK, November 13, 1995.
http://www.ziff.com/~macweek/mw_11-13-95/sunmetro.html
- Gosling, James, and Arthur van Hoff. "WinnerJava." PC Magazine, December 19, 1995.
http://www.zdnet.com/~pcmag/issues/1422/pcm00073.htm
- Leonard, Andrew. "Java Java JavaIs it the Future or the End?" Web Review, November 22, 1995.
http://www.gnn.com/gnn/wr/nov22/features/java/index.html
- Netscape Communications Corporation. "Netscape and Sun Announce JavaScript, the Open, Cross-Platform Object Scripting Language
for Enterprise Networks and the Internet." Press release, December 4, 1995.
http://home.netscape.com/newsref/pr/newsrelease67.html
- Sandberg, Jared. "Sun and Netscape Are Forming Alliance Against Microsoft on Internet Standard." The Wall Street Journal, December 4, 1995, p. B8.
- Schlender, Brent. "Whose Internet is it, Anyway?" Fortune, December 11, 1995.
http://pathfinder.com/fortune/magazine/1995/951211/infotech.internet.html
- Sullivan, Eamonn. "Java falls short of hype, but showcases technology's potential." PC Week Labs, November 9, 1995.
http://www.pcmag.ziff.com/~pcweek/reviews/1106/tr45java.html