From: Raph Levien <raph@cs.berkeley.edu>
To: “Vladimir Z. Nuri” <vznuri@netcom.com>
Message Hash: 0e0fef7d67d0c5f6eaf85c38e089685f1890b3896f1ee7629860eef1966aae77
Message ID: <31B58982.1F54@cs.berkeley.edu>
Reply To: <199606041306.JAA08943@jekyll.piermont.com>
UTC Datetime: 1996-06-05 20:12:01 UTC
Raw Date: Thu, 6 Jun 1996 04:12:01 +0800
From: Raph Levien <raph@cs.berkeley.edu>
Date: Thu, 6 Jun 1996 04:12:01 +0800
To: "Vladimir Z. Nuri" <vznuri@netcom.com>
Subject: Re: Java
In-Reply-To: <199606041306.JAA08943@jekyll.piermont.com>
Message-ID: <31B58982.1F54@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: text/plain
Vladimir Z. Nuri wrote:
[...]
> you don't get it, as others have pointed out repeatedly. you conveniently
> ignore Frantz' points about the well-known difficulties of porting C. there
> is a big difference in what is conneted by the word "portable".
> if it take a zillion different makefile rules to create the "same"
> program on different machines, is that "portable"? isn't that
> defeating the purpose somewhat? c is "sort of" portable. it is
> "in theory" portable. Java is portable "in theory and practice".
This point is simply not true, at least for Java as it exists in
Spring 1996. Almost every Java applet I've seen has little UI glitches
that prevent it from displaying and operating correctly on all
platforms. Further, there are little glitches in the language
implementation and library design that often cause portability problems.
For example, the first cut of Hal's PGP applet had the standard UI
problems, plus the fact that a "spinner" thread caused the entire
browser to lock up -- on Unix, but not on Windows. And this was a 5000
line of code applet. Hal was able to fix the problems, but it's easy to
see how the effort involved in this "portability engineering" could
become comparable to your thousand-line makefile as applications scale
up.
The promise is there, but Java has not yet delivered.
Another concern with Java is that it acheives portability at the cost
of enforcing a lowest common denominator. For example, all real Windows
applications support OLE, and all real Mac applications support Apple
Events. Java applets, and even applications, can't do either. To me,
that makes the accomplishment of portability a bit less impressive, even
if it were so.
Raph
Return to June 1996
Return to “Wei Dai <weidai@eskimo.com>”