MultiMediator -- Canada's Multimedia Guide   Canada's Multimedia Guide
Updated May 1, 1999 
What's New The Essentials Company Directory Publications BitStream Newsletter
Betaville Classifieds Store
 
 
   home
   what's new
   site map
   about us
   contact us
 
   jobs
   recruiting
   consulting
 
   advertising
   credits
   awards
   testimonials
   privacy policy
   legal info


Take control of your InBox! Click to end SPAM!
Why not advertise on MultiMediator?


Subscribe now!
BitStream Newsletter

Damn spam! Take control of your InBox!

Publications

Java, The Illusion

Second thoughts on buying into any one particular language

by Brent Noorda, January 1996


The marketing illusionists at Sun have done a wonderful job of making Java appear to be the one and only technology capable of adding life to the World Wide Web. Like any good illusionists they have taken a small bit of substance and combined it with a good deal of distracting patter and show. The resulting spectacle, they hope, will fool us into believing that wondrous miracles were accomplished with their simple magic Java wand -- and that no other language could have performed such miracles.

The illusion appears to be working. From Time magazine to the local newspaper, from the computer journalists to the guy at the water cooler, everyone seems to be talking about Java as the hot technology leading to the next Internet revolution. From major international corporations to small startups, everyone seems to be proclaiming their commitment to Java support. From a half-million here to millions there, everyone is throwing dollars into Java licensing and development.

How could all this hype, all these people, and all this money be wrong? Haven't we all seen, or at least heard about, the magic that only Java could add to the Web: cute animated figures, lines and graphs, and talking hot-spots?

Behind any great illusion is usually a shred of truth. Yes, Java does give us cute animated figures, lines and graphs, and talking hot-spots. But what the illusionist don't tell us is this: any number of languages can deliver cute animated figures, lines and graphs, and talking hot-spots.

An important element for presenting a great illusion is the stage itself; the illusionist needs a place to house all the smoke and mirrors. The stage for the Java illusion is called HotJava. HotJava is a Web browser that extends the web browser standards for tags and protocols so that not only does a page include standard HTML tags but it now also contains links to Java code. This Java code appears to run within the HTML document.

What the Java illusionists fail to mention, and what they hope we fail to notice amid all the flash, is that any number of languages could have been embedded into a web browser to add "life" to HTML pages. Had a different language been chosen, we could just as well have seen HotPerl, HotBasic, HotBatch, HotLisp, HotSmalltalk, HotEiffel, HotBourne, HotRexx, HotBob, HotCmm, and on and on . . . . But we have not seen these "hot" browsers (except for some simple demos under less exciting names) because it would not be right to unilaterally decree any of these language to be the embedded language of the Internet, just as it is not right to decree Java to be the language of the Net. Yet Java, the newest, least tested, and by far the most complicated of any of these languages, has been decreed by so many as "the future of the Internet."

Before deciding on the Internet's future, let's review its recent past. The explosive and unprecedented growth of the Web has been based on the almost trivial simplicity of the HTTP and HTML specifications developed in 1990 by Tim Berners-Lee. ("Even a manager can understand HTML.") Because these rules are so few and so simple, the industry had little trouble agreeing to and implementing these standards. It is these very simple foundations, extended when necessary by equally-trivial interfaces (CGI), that have produced the extraordinary wealth of Web content available today. Simplicity and open interfaces formed the building blocks that made the Web possible and practical.

Java is anything but simple. Based on the already-complex C++ language syntax, and then modified with further syntax changes and coding restrictions, Java is one of the most complicated languages and development environments to be introduced this decade. This complexity helps to conceal the tricks behind the Java illusion, for when the Java illusionists repeat again and again that "Java is simple" we must nod our heads in agreement because to do otherwise would be to admit our ignorance -- to admit that we were not smart enough to see the emperor's new clothes.

Many other languages, including but not limited to those mentioned above, are simpler than Java and make equally good prospects for being "the language of the Internet." Nearly all of these languages can be safely transmitted across the Net, conform to any level of safety by removing dangerous functions, automate memory management, and do not use the dangerous pointers of C/C++. In fact, considering how many Web pages and other Internet tools are already dynamically created using these other languages, Java stands dead-last in real-world popularity. So should one of these other languages become "the language of the Internet?" No! The Internet and the Web have never restricted users to any particular programming language, and I hope they never do. But if Java is required as the Web language in the way that HotJava and Netscape's new browsers demand, then all other languages are effectively shut out for browser-side dynamic page content. Never has a popular platform evolved by enforcement of any one programming language.

I denounce the Java illusionists and hucksters, but I have nothing against the Java language itself. Java is an interesting new language and may provide fascinating academic insight into what programming problems may be solved with a few changes to C++ syntax, strict enforcement of class protocols, and extreme language restrictions on data types. And I have the highest respect for those who created Java -- having myself created a safe, secure, and robust C-like language, I know how hard it can be.

It cannot be denied that the HotJava browser offers a good ("cool") example of the type of dynamic presentation available from the Web when a browser can interact with a retrieved program. In the case of HotJava that program must be written in Java, of course, which is all right for a quick-and-dirty prototypes, but this restriction to a single language is not all right for a ubiquitous, open, and expanding Internet. The HotJava browser provides functionality to Java applets for such things as drawing GIF images, playing audio files, and recognizing hot-spots. There is nothing unique about the Java language that allows these functions to work; indeed, every web browser must already perform these functions internally, and so providing an interface to these functions for the dynamic control of an "applet" is a natural fit. Now that HotJava has demonstrated the concept of a new useful interface, it is time to open up such a dynamic-content web-page interface to applets in all languages. The Internet is based upon the openness of interfaces.

When it was recognized that dynamic HTML presentation was needed from the HTTP server, no particular language was stipulated. Instead, the Common Gateway Interface (CGI) was defined so that any language could be used. CGI, like HTTP and HTML, is an extremely simple interface protocol -- not a particular language but an interface to any language -- a simple, open, language-independent building block from which many things are possible.

Now we must recognize that dynamic presentation and greater interactivity is needed on the Web. If we believe the Java illusionists then we accept their word that only Java will make this possible. But if we follow the traditionally successful way of thinking then we know that greater results are possible if we keep the protocols simple and focus on the interface rather than buying into any one particular complex language.

Let us not be fooled by the Java illusionists!

Brent Noorda is an unpublished author-, unrecorded songwriter-, hopelessly-lost Internet navigator-, and unprofitable programmer-extrordinaire. His only real success is on the soccer field where his team of 9 and 10-year-old boys, on those occasions when they are not knocking him unconscious with stones, seldom lose a game. Brent has more than 13 years of experience in the PC software industry. He has held development positions with Novell, Shiva, Sun Microsystems, Cetus Corporation, Addax, Verbex, and a number of other institutions too honorable to admit having hired him. Realizing he was unable to hold a real job, Mr. Noorda created the Cmm scripting language and founded Nombas, Inc., where he is responsible for establishing technical direction and leading the development of the company's products. He holds a B.S. degree (honestly won in a late-night poker game) in Engineering Physics from the University of California at Berkeley.


 







 designed by
pomegranate

Take control of your InBox! Click to end SPAM!
Home | The Essentials | Company Directory | Publications
Betaville Classifieds | BitStream Newsletter | Store

Your questions and comments about MultiMediator are welcome.
E-mail the webmaster@multimediator.com


Copyright ©1995-2005 MultiMediator. All rights reserved.
 "MultiMediator" and "Canada's Multimedia Guide" are trademarks of MultiMediator.
Read our exciting Copyright and Trademark Notice!