Observations on Java: 99% business, 1% numeric

David Hough validgh business validgh
Tue Jul 15 17:57:06 PDT 1997




     Prof. W. Kahan delivered the Von Neumann Lecture today at Stanford; his
slides are at http://www.cs.berkeley.edu/~wkahan/SIAMjvnl.ps in a form not too
different from those used in the lecture.

     Some of his slides addressed Java numerics issues that we have discussed
recently on this mailing list.    Reflecting on them I've come to the conclu-
sion that the underlying problem here is one of marketing communication.
What follows is my personal opinion and may not reflect that of anybody else,
and addresses business issues primarily and numerical matters only in conclu-
sion, because...

     In the larger scheme of things, numerical issues are irrelevant to Java.
Java is about who controls corporate desktop computing, and spreadsheets are
about as numeric as that gets.    Microsoft and its allies, on one hand, and
IBM-Netscape-Oracle-Sun and their allies on the other, are both willing to use
technical arguments for convenience, rather than from technical conviction.
The public and the press often get confused between the substance and the
facade.

     This confusion has been augmented by divergent messages coming from both
sides, but I have better visibility of those coming from the anti-Microsoft
side.    I've noticed about three messages:

Message 1) Java is the language of platform-independent computing
     This was the original idea of the people who invented Java, and refers
     more to the API's for graphics and databases than to numerical computing
     issues, so the inventors decided to eliminate one source of gratuitous
     variation and distraction by standardizing arithmetic in a novel way,
     which however seems to be observed as often in the breach, and that's
     likely to get worse as native-code Java compilers proliferate.  From the
     point of view of this message, native Java compilers that optimize pro-
     grams for specific platforms are worse than useless because the results
     are no longer portable.  The Java Virtual Machine byte code definition is
     more important than the Java language itself in attaining portability.

     The Microsoft side presumably has no use for this message, since Micro-
soft had already provided platform-independent computing for all the platforms
that interest them (Windows 95 and NT).

Message 2) Java is the answer to every maiden's prayer
     This is the implicit thrust of a lot of Sun's mass-market advertising,
     and implies that every every program worth writing is worth rewriting in
     Java.    It's a simple message to obtain mindshare of people that
     wouldn't understand technical details.    Its inherent divergence from
     the first message, at least for numerical computing, is usually recon-
     ciled by hopeful assertions that just-in-time compilers will make Java as
     fast as C, C++, and Fortran in a few months.    Such assertions are non-
     sense in numerical computing, where the difference between optimal
     instruction scheduling and and nearly optimal can easily be 2X perfor-
     mance, and even getting nearly optimal is a project extending over years
     rather than months, but that doesn't seem to matter to marketing message
     masters.

     The Microsoft side probably likes this message, because all it needs to
do is get the mass market to associate "Java" with "Java as extended by Micro-
soft" and then it can reap the benefits of this message.

Message 3) Java Computing is the future
     This message doesn't really have anything to do with the Java language,
     for the language is irrelevant - any modern object-oriented language
     could be made to work; the message is about centralized servers and non-
     configurable desktops for the corporate market, and talks about the very
     real business issue of total cost of the current corporate PC model where
     an organization may have 10,000 PC's, no two of them similar in hardware
     and software configuration.    Of course centralized servers/non-
     configurable desktops is just the 1970's model of mainframe/terminal com-
     puting, with updated technology but the same political structure.    This
     naturally appeals to corporate MIS types whose fortunes started declining
     toward the end of the 1970's.    That decline was brought about by
     another very real business issue, namely that corporate MIS departments
     were too slow to respond to requests for innovation - and why should
     they, there was no competition.  Departmental minicomputers and personal
     desktop computers changed all that.  The good news was empowerment -
     groups and individuals could do their own computing on their own
     schedules, for the incalculable good of the business. The bad news was
     empowerment - groups and individuals could ALSO do their own computing on
     their own schedules, to advance their own agendas and careers, and often
     do so, and the cost of so doing is quite calculable and appalling.

     What's different about Java Computing from the situation 20 years ago?
For one thing, the non-configurable desktops will probably be able to download
spreadsheets and tools for small program development which weren't available
twenty years ago, so it will not be necessary to buy a desktop computer to run
Applesoft Basic and Visicalc.  Microsoft would have no problem providing
server-based Visual Basic and Excel, for instance.  What remains to be seen is
whether the next interesting innovation will be as readily available from cor-
porate servers to non-configurable desktops.  Microsoft might be more con-
cerned about that, because it will be harder to introduce new technologies by
selling one copy at a time to an end user, but that disadvantage turns to an
advantage if Microsoft can control the corporate servers, which is the purpose
of NT.  Microsoft and Intel point out that non-configurable desktops don't
need to be Javastations - change the BIOS chip in a corporate PC so the PC
only boots from the network, and you've got a completely controllable confi-
guration.    It can be based on Java, or Java extended by Microsoft, or some-
thing else, all without affecting the balance of an organization's internal
politics.

     These divergent messages get absorbed by various target audiences who
then come to divergent conclusions - no surprise there!    Thus much of the
public and private discussion about Java numerics seems to consist of people
talking at and past each other because they are working from different prem-
ises and toward different goals.

     So efforts like Borneo and RealJava are doomed to fail if success be
defined as influencing the official definition of Java on their own merits -
since no amount of numerical merit is really significant in the big scheme of
things outlined above.    So they might better define their success to be
defining a new language specialized for numerical computing, and hoping that
it will absorb a small fraction of the Java energy.

     Scientific end users who want to register their opinions about all this
can look at http://www.validgh.com/desktop.html and participate in the survey
described there.




More information about the Numeric-interest mailing list