[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
The Joy of Java
> "Krakatoa--East of Java"
An excellent Rant in which our Titular Leader, Tim May, sings the
praises of Java and denounces an evil sect of Crypto Separatists,
the self-described "Coderpunks."
> Well, I was not invited to join the elite and secret
> coderpunks list, but I still have some thoughts on coding
> and, especially, on the opportunities offered by Java. Sorry
> if this interferes with discussions of Rabbi Heir and Morris
> Dees.
Given the various parameters which determine the life and death
of mailing lists, I fully expect Coderpunks to become moribund
within six months, and its members to reunify with this list.
Very few of these "I'm going to start my own list with less
noise" adventures ever make it long term, absent the
personalities and critical mass of interesting information which
drove the list they spun off from.
> 1. Java is of course not a perfect language, nor even the
> best for specific applications. Other languages will
> continue to thrive. Critics of the language and related
> items (applet model, JDK, JITs, etc.) may point to various
> problems (e.g. security).
> 2. However, the "big picture" is compelling. Java arrives
> at a time when a Babel of languages and platforms threatens
> interoperability. C++ is despised by many (though, to be
> fair, liked by many, too), and developers are adopting
> Visual Basic (and the vbx widgets, etc.), PowerBuilder,
> Delphi, flavors of Smalltalk (no pun intended), and
> scripting languages (Perl, TCL, Python, etc.).
I completely agree with this. Java incorporates the type of
automatic corruption-proof memory management found in languages
like APL, the basic notions of object oriented programming, fast
dynamic linking, and a C-like program structure.
This is powerful combination of features and gives Java the
potential to do all the platform-independent things that were
advertised for C before the rude reality of thousand line
makefiles reared its ugly head. . The complete specification of
the Java Virtual Machine means that the behavior of Java programs
is perfectly well-defined, and one does not have to tweek
anything which is processor or operating system dependent.
In the future, I expect Java bytecode to become a significant
channel for the distribution of popular applications, with
compilation to fast native code on numerous platforms.
Java is clean, and its concepts are easily understandable even by
persons whose eyes glaze over after the first 30 pages of the C++
manual.
> 4. What is so compelling, to me, is that Java programs have
> an excellent chance of running on various flavors of Unix,
> on Windows-95 and NT systems, on Macs, and on other systems
> without changes, and without any special compilers bought by
> the users! (Netscape browsers, and even Microsoft browsers,
> are able to view applets, or soon will be. And cheap or free
> applet viewers are available.)
Expect NT to be a Unix-killer in the future. It can be ported to
any machine, and its microkernel client-server design with
pluggable third-party APIs permits it to manifest simultaneously
the personalities of numerous different operating systems.
Contrast this with the many different binary incompatible Unix
flavors and its marketing advantage becomes clear. NT sales just
broke one billion per year and are climbing steadily.
NT and Java will be the big players in the future. If Netscape
becomes its own OS, requiring no Microsoft software, it will
probably capture the low-end "Web TV" market.
> 6. One can imagine several applets of interest to
> Cypherpunks. The ability to fairly transparently run them on
> multiple platforms, effectively bypassing the platform
> dependencies, is very important. Check out Hal Finney's site
> for some "crytographic primitive" applets he's written.
Indeed. One can imagine a nice set of Java classes and methods
which interoperates with PGP, and has none of the fixed buffer
allocation, limits, and awkward memory management present in PGP.
Java tends to do the kinds of things PGP does very cleanly, and
implementors can worry about the algorithms without being
distracted by housekeeping. Any code produced can instantly be
used by others in their applications. This is a powerful
paradigm, encourages others to expand on existing work, and
renders kludges like "PGPTools" unnecessary.
> 10. "Mindshare" is the real story. Java arrives at the
> right time. Cypherpunks needs--those needs that go beyond
> just the "sealed envelopes and signatures" level which PGP
> provides so well--are likely to fit in with this Net-centric
> communications model. (I'm already thinking in terms of Java
> applets for building blocks for Cypherpunk sorts of things.)
Java Applets, mobile crypto agents, and the new Web-centric view
of cyberspace will go a long way towards encouraging the
planet-wide use of strong crypto, as well as effectively swatting
annoying mosquitos like ITAR.
Indeed, with Java, I can put up a Web page which teaches someone
about a cryptographic algorithm, allows him to try it out and run
sample data through it, and provides him with a
platform-independent implementation of it to use as he wishes.
All in one fell swoop. That's a pretty powerful concept.
Java has come at the right time, and it will produce chaotic
change in the existing order.
Should be interesting.
--
Mike Duvos $ PGP 2.6 Public Key available $
[email protected] $ via Finger. $