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 3 of 7
- The Java compiler, javac, which translates human-readable Java source code to architecture-neutral bytecodes.
- The Java interpreter, which executes Java programs on the user's PC or workstation.
- The C header and source file generator, javah and java_g. These are used to generate header files for C, as well as source
files for making "methods" (roughly equivalent to procedures or subroutines in other languages) within Java.
- The Java disassembler, javap, which prints out information about a class file (a file containing a Java applet).
- The document generator, javadoc, which is capable of generating an HTML file from a Java source-code file.
- The profiling tool, javaprof, which formats the performance data created if the programmer uses the -prof option in the Java
interpreter to obtain statistics on run time and performance.
Simplicity and familiarity
By basing the language on C++, Sun obviously hoped to take advantage of a large installed base of experienced C++ programmers;
in so doing, they were able to make use of important features of object orientation, which Microsoft will find far more difficult
to do if it continues using Visual Basic as the foundation of its Internet programming technology. (Visual Basic supports
the concept of encapsulation, for example, but does not support inheritance or polymorphism.)
Further, as we'll see in the more detailed discussion of the Java language below, Sun has removed several of the more esoteric
and troublesome features of C++, such as multiple inheritance and pointer arithmetic. The primary reason for doing this was
to ensure robust behavior, but it has also resulted in the creation of a language that's easier to learn and understand. And
in the tradition of C++ and other object-oriented languages, Java gives access to existing libraries of tested objects that
provide functionality ranging from basic data types to network interfaces and GUI toolkits.
Though experienced programmers may find Java easy to learn, neophytes and users probably won't have the same experience. As
Andrew Leonard points out in a recent issue of Web Review:
A more critical question is what effect Java-esque technologies are having on the average individual's ability to use the
Net/Web creatively. The online universe is becoming more complex. Is it leaving us behind? Forget about The Future of the
Net. Time to switch memes. What about The End of the Net as We Know It? Once upon a time, the World Wide Web was a truly democratic
medium. Learning enough HTML to put up a Web page took an afternoon. Anybody could become publisher of their own Webzine.
As a petri dish for Do-It-Yourself cultures, the Web offered astonishing potential. That was then. Try learning to write a
Java applet in an afternoon. Unless you're already an accomplished programmer, the kind of person who spits out Perl scripts
like sunflower seed shells or reads C++ manuals as if they were comic books, you might find yourself moving a bit slowly.
And it's not just Java. Creating a 3-D VRML world isn't trivial either. Just mastering all the possibilities of a new version
of Netscape before the next upgrade rolls along is an exhausting challenge. And so on. The Web is stratifying. A priesthood
of technonerds -- a Webmaster aristocracy pulling down high salaries and wielding great power -- is emerging.
The solution, I believe, will eventually involve two "levels" of Java language: the professional level and a "light" level
for users who need to create simple, one-line applets to control the behavior of their HTML pages. Netscape has already taken
the initiative, with the scripting language built into Navigator 2.0. And in December 1995, Netscape and Sun announced a joint
effort to continue this work in the form of a scripting language called JavaScript.
- 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