[375] in java-interest
The 4 Layer Java Cake
daemon@ATHENA.MIT.EDU (Dave McDorman)
Fri Jun 16 21:22:05 1995
Date: Fri, 16 Jun 1995 17:35:19 -0700
From: David.McDorman@West.Sun.COM (Dave McDorman)
To: java-interest@java.Eng.Sun.COM
Java group-mind,
NOTE: I'M SPEAKING AS A JAVA FAN! NOT AS A SUN EMPLOYEE. IF I'M OUT OF LINE
ON THIS ALIAS, I CAN QUIT.... I HAVE NO PARTICULAR JAVA ASSIGNMENTS
FOR SUN. I JUST CAN'T STOP TELLING THE STORY... It's a hobby really.
I like to explain Java to the un-initiated as FOUR distinct layers:
1. the Java "percolator" - a small portable, platform independent, thread
handling executable. It can be ported to a variety of hardware/software
enviroments.
The "bean" is the KEY TO PORTABILITY and the vast potential
of the project. It could be hosted in a variety of application
uses. It has all the baggage of Modern OS'es removed to
make a fast, efficient hardware "abstraction" to support the upper
layers.
2. the Java "beans" - a collection of platform specific objects to
map the multimedia, networking and OS functions to the underlying
hardware/software host (with Sun doing Win 32, Mac and Solaris 2.x
as products). HOw many Sun products put "alpha" code on the internet and
supply source to stimulate additional investment. Organized "chaos"...
This area is exciting because it makes the hard coding aspects of
networked multimedia available to a midnight wanna be hacker
like me! Animations, audio, Threading, network protocols all
publishable on the WWW...
"beans" can be put on any mass storage technology: disk, CD-ROM,
tape, network servers, firmware ROM's, cartridges, etc.
(Sneak peek at layer 4... apps are collections of "beans"!)
3. the Jav "lingo" - C++ "fixed" for the 80/20 rule of software "bugs"
It builds on the abstractions of layers 1 and 2 to support
"gaming", object-oriented thinking in design, extensibility to
aid simple maintenance updates, etc. EVEN BETTER, I CAN ACTUALLY
MAKE SOMETHING INTERESTING WITH THIS OBJECT ENVIRONMENT and
the financial impact to my checkbook and the "portability"
or my "skills development" makes me comfortable (vs. pure
Mac or Win 32 study...)
4. the HotJava "Browser" - the first commercial venture using this
new object oriented, Internet technology
I can make software at home on a PC and bring the compiled "beans"
to work and run it there (I use a Sun at work...). I can also
enjoy the work of coders with NT and potentially many more
platforms:
"Oh please do Nintendo next... put it on a cartridge"
Now that's the volume platform folks... Of course the cartridge
would need a 14.4 modem capable phone jack :^)
"Bolting Java Layers 1-3" into an existing product could be a complex
assignment (IMHO, remember I'm a non-coding wanna be'). Building on the
essential "percolator" and implementing pure "beans" makes more sense.
Most of the discussion regarding Java starts with Level 4 and then needs
to drill into the lower layers to explain the complete details. I prefer
reversing the discussion building up understanding as you layer new
ideas on the previous layer:
Percolator -> ground "beans -> custom "bean" making -> cup of Java apps
Along the way, I explain that HotJava is just one of an infinite number
of Java-based executables. The Java compiler is essentially a Java app too!
At the base of most java functionality is a script that invokes the
percolator with a chosen "main bean". HotJava "boils down" to:
java browser.hotjava
To avoid confusion the layers need distinct names. Otherwise,
Java is:
o a platform independent virtual machine
o a language
o an Internet programming technology
o a plot to invade you computer with executable content
o the potential technology that can free the computer world to innovate
rapidly on the emerging network opportunities
o a potential nomadic "executable" object that can be launched into
the "ether" to do one's bidding... assuming an infrastructure of
internet daemons based on the "percolator" technology develops:
javad NNNN/udp # "java-app" daemon/manager
If an MIS-type saw the idea of "code" wandering around, it could start
legislation in congress to halt the whole parade, so I don't push that idea.
But I do tell "software managers" that Sun has a new programming GUI that
allows developer's to pick their preferred platform and to publish product
for Win 32, MMac and Unix without modification. It gets their attention rather
than telling them that they might see "Myst-like" games running from some remote
WWW server next year, written by clever college students.
I haven't been this excited about the potential for "group innovation" since
someone showed me Unix in 1983. If it makes this much sense, it must be worth
learning more about...
Dave McD.
-
Note to Sun employees: this is an EXTERNAL mailing list!
Info: send 'help' to java-interest-request@java.sun.com