Article View: cn.bbs.comp.lang.java
Article #24347һƪ��Java��̫�Ѻõ�����(ժ��http://www.perl.com/)
From: dy
Date: Mon, 23 Mar 1998 00:00
Date: Mon, 23 Mar 1998 00:00
190 lines
10552 bytes
10552 bytes
Java, The Illusion
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 distractionary 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 peformed 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. There is
some truth behind the Java illusion: 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 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!
Java is here to stay
--A followup to the "Java The Illusion" Article
I wrote the above article toward the end of 1995, after I'd been
asked to review what was behind the Java stories. At that time we
had been hearing about the wonders of Java and expecting to see a
revolution in the software industry "any day now" for nearly a
year.
It has been nearly a year and a half since I wrote that article,
and Java has now garnered the industry support it needs to play
an important role in the computing industry. Some Java products
are finally starting to appear, and real business is getting
accomplished with the language, and so it's not fair to call it
an "illusion" anymore. But I dare not remove this article from
the Web, despite any bad reputation it may give Nombas for not
being an industry player, because by now there are so many links
to it (and, to be honest, we get a lot of visits to our site just
because of it) that I think the web might degrade into utter
chaos without this historical document holding it together.
Besides, nothing in the above article is no longer true, just no
longer relevant. Sun and Javasoft have also worked hard in that
time to improve on some of the problems described in the
"Illusion" article: most notably with their introduction of
JavaBeans. JavaBeans are their answer to the interface problem,
and it's a pretty good solution. JavaBeans provide the simple
wrapper (though not yet simple enough, in my opinion) so that
components can be more-easily linked together in this new
environment, and when done correctly those components can be
written in any language. I now view Java as a platform that
matters and one that must be supported. Nombas, my company, has
always been committed to making the scripting tools that make any
platform easier to use. The relative popularity of Java just
gives us one more platform to support and improve upon with our
family of multi-platform scripting tools. We have already begun
the work to support this platform, so that all of our tools can
help the Java-platform users in the same way they've simplified
life for the Windows, Macintosh, OS/2, and Unix users of the
world. We embrace this new Java plaform and it's users.
Brent Noorda - April 1 1997
--
�� ��Դ: �й�ƴ�BBSվ [bbs.ustc.edu.cn]
Technical Details
Message-ID:
<980323.yGwFd$PBBS@bbs.ustc.edu.cn>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII X-Google-Thread: f6cb0,ac874c8aa3ed79fc,start X-Google-Attributes: gidf6cb0,public From: Yu_Di@bbs.ustc.edu.cn (dy) Subject: һƪ��Java��̫�Ѻõ�����(ժ��http://www.perl.com/) Date: 1998/03/23 Message-ID: <980323.yGwFd$PBBS@bbs.ustc.edu.cn> X-Deja-AN: 336686193 Organization: �й�ƴ�BBSվ Newsgroups: cn.bbs.comp.lang.java