Java Day: You are there
How a bunch of coffee drinkers realized a whole new way of Web cruising
Sun sponsored a one-day forum on Java following the Ultra 1 and 2 introduction. Morning sessions attempted to offer Sun's perspective on Java's importance, while afternoon tutorials were more technical in nature. This story quotes and paraphrases statements from Sun officials and Java's developers.
For a wry look at how marketeers stretch English to promote Java, see the sidebar below. (2,000 words including sidebar)
Room-sized video monitors inside the Cirque du Soleil tent display the drawn image of a purple mug. Steam coils out of its interior curling deliciously upwards into the deep blue background. You can almost smell the coffee.
Despite its rocky beginning, Sun's recent contribution to the world of object-oriented programming is destined to become as integral to communication and commerce during the next century as telephony has become during the current one. Pitched explicitly as a tool for programmers on the World Wide Web, this new language, christened "Java," (licensed to its first commercial customer, Netscape, in August, 1995) is likely to change more than just the way programmers hack code. And it could not be more aptly and metaphorically named.
It is reminiscent of the bygone Bohemian culture of San Francisco, of long afternoons in coffee houses where original thinkers dreamed up screwball new poetry and over-the-edge ways of doing business -- some good, some bad, some downright stupid. And some -- inevitably, the least likely to succeed -- brilliant.
The new computing paradigm: How the Web changed everything
At Sun's November 8 Menlo Park Java conference, Sun luminaries, ISVs, and other computing gurus presented their thoughts on Java and on the future of networked computing. (The Java marketing team commandeered the circus tents Sun used the day before to stage the Ultra 1 and 2 introduction.) As a testament to Java's popularity, the 1,500 tickets available for Java were consumed in five hours. Here is an overview (summarized and paraphrased) of some of their insights about and predictions for the new computing era.
In the past, all software that has been developed has been not "network centric."
"The new paradigm threatens OS vendors. What we've had up to now is 'API lock-in' where applications are tied to OSs and CPUs. This drives de facto monopolies, control of distribution channels, and so on."
The Web revolution brought us:
"New computing paradigms only come along once every 10 to 15 years. We are in on the ground floor. Java may or may not be the product, but the concept -- executable content -- is."
"Java is going to be the DOS of the 90s. It may not be perfect, but neither was DOS in its first iterations. Its chief benefit is ubiquity. This was DOS's chief benefit too; like DOS, it has shortcomings but it's everywhere."
"The Java Revolution means (to quote George Gilder) that the computer becomes a peripheral to the Internet and the World Wide Web. With Java, content wins. Content today is dead, static."
Retail and advertising use Java: for interactive shopping and live auctions; and interactive 3-D advertising with animated content and streamlined audio. Publishing and entertainment use Java for secure publishing, instant information, and multi-user games.
MIS uses Java for mission-critical applications and networked database access. Educators use Java for remote learning and interactive simulations. The Java schedule:
"We're alive in a funny time. We're seeing a semilog growth in the computer technology field -- exponential growth -- we're used to this kind of scale, but it's unheard of outside of the technology field. Gordon Moore has pointed out the absurdity that using his Law, by the year 2050, the growth in technology exceeds the world GDP. The probable future pattern is phase transition or S curve: slow, then exponential, then linear growth as saturation is reached."
"In 1980, there were 100 hosts on the Internet. In 1995, there are 10 million. Ten years ago, the phonebook for the entire ARPAnet was one inch thick."
"DNA represented the invention of language. Once the recipe for life was abstracted and preserved, there was a way of duplicating it. That makes us binary compatible with primitive bacteria and viruses. If I were a real egotist I'd code my business card into a virus and sneeze it onto the audience."
Multicellular creatures are collections of cells that communicate so well they act as one creature. A starfish or a jellyfish are really a cell farm. Humans are one step more evolved: we are "the network is the computer" implemented as a person.
Neurons and cells passing along binary messages became brains -- intelligent neurons. Language allowed the development of culture and society. Heinlein, in "The Moon is a Harsh Mistress," suggests the idea of networks becoming alive. By this analysis, the Internet can be seen as an emergent organism. It wasn't engineered, it has grown. Nobody understands in detail "how" it works.
Java allows the network to have a "mind." This is revolutionary. Communication is taking place outside of the human mind. There is positive feedback from within the network. The technology starts to change as a result of its own processes. Communication takes place between computers that is meaningful to them.
"Just think, you'll be able to say to your grandchildren: 'I was there when all computers couldn't talk to each other.' But what is more likely: you'll be explaining your time to an applet that your grandchildren created to deal with their grandparents."
There was a recent Unigram.X story about buggy C programs making future consumer products unsafe (the amount of embedded code in consumer devices is rising -- C is the preferred language: electric razors have 7,000 lines of code in them; the next generation of TVs will have 200,000 lines of code. Surveys show code errors every 55 lines). Java addresses this: strongly typed, has no unsafe constructs, and is small -- which means it's easier to be fluent in (and thus programmers are less likely to make mistakes). Java has no undefined or machine-dependent constructs. No overloading feature. It's object-oriented in the sense that it's reusable and structured, with concurrency designed in. Large Java programs look like Smalltalk; small look like C.
In summary, Java is just a small, simple, safe, object-oriented, interpreted or dynamically optimized, byte-coded, architecture neutral, garbage-collected, multithreaded programming language with a strongly typed exception handling mechanism for writing distributed dynamically extensible programs.
"Unlike lots of programming projects, this was not started as an academic exercise. It was meant for the people who really do build and use the net. Java provides programs in quanta that can be shipped across the net unobstructed by CPU, environment, and trust. Java is designed so that applications are separate from data. Java packages application behavior as data. It's really C++ with some security goals achieved, made safe."
"Java guarantees interface integrity. I deliberately avoided exotic topography and code. The Web is both good and bad. Everything is interoperable. Security is breached when what you have inside the box gets outside. Or outside comes in. Most of the time, we don't know if the security system is working; we only know when it's not working. No matter how secure you make the building, boulders can still be dropped from airplanes. Not common, but it does happen. With Java, the security model is built into code."
"The Hot Java Browser is designed with the idea of 'agents.' Hot Java allows you to send agent applets to do something on your behalf. For instance, you could query a financial database. Then at the right time the applet phones you up and says 'buy.' "
"Our basic idea with Java was to push the limits of the code and the net as far we we could..."
Where it will take us...
Thanks to Java, the black box's content has at long last become more important and more interesting than the processes and mechanisms that run it. The Internet now has a life of its own; computer users no longer need to think for or about their machines. Sun's trademark: "The network is the computer," is more true now than ever; those words are proving prophetic. But for the first time since the advent of television, the death-grip of McLuhan's metaphor is finally undone: the medium is now the medium, and the message is the message. Those of us who have been these last 15 years trying to listen to the music and not the quality of the hi-fi can now at last begin to hum.
If you have technical problems with this magazine, contact email@example.com
Java is a programming language. English was, more or less, the linguistic basis for the hype and hoopla surrounding "Java Day" and attendant events recently at Sun.
SMCC's president, Ed Zander, was heavily engaged in the practice of "-izing": adding the suffix "-ize" to nouns--abbreviations, even--to form verbs. Zander labeled the process of converting a uniprocessor system into a multiprocessing one as "MPizing" it.
When he got to Java, he had to resort to consonant interposition to avoid vowel-sound collision. Making software Java compatible became "Java[t]izing" it. Later, Colin Boatwright, of Nando.net, a Java licensee, avoided vowel collision with a c: "Java[c]izing."
The Java event may have been a post-industrial production, but Zander and Sun co-founder Bill Joy apparently had preindustrial thoughts in mind. The former referred to the bank of Sun machines used by Pixar to create "Toy Story" as a "render farm." Joy discussed the need for "simulation farms" in chip design.
Zander returned to the industrial age when he talked about going beyond "shared whiteboards" to "shared white rooms." The term "white room," coined in 1962, is synonymous with "clean room" -- the location where the results of simulation farming are produced, and probably not what Zander meant to imply.
One of those results is Sun's new UltraSPARC CPU "architecture." SPARC has evolved from Super to Ultra. What's next? Ne Plus UltraSPARC? Users who upgrade will be able NPize while they MPize and run Javatized software. --John Barry