[3786] in java-interest
Re: Fundamental flaw in Java library distribution scheme
daemon@ATHENA.MIT.EDU (David Griswold)
Mon Nov 27 23:09:21 1995
Date: Mon, 27 Nov 95 17:18:22 PST
To: wnj@sw.central.Sun.COM (Bill Joy)
From: david@longview.com (David Griswold)
Cc: java-interest@java.Eng.Sun.COM, flar@bendenweyr.Eng.Sun.COM
you wrote:
>the reason we don't do dynamic overload resolution in the
>way that you suggest is that it moves the detection of overload
>ambiguities to runtime. we want these ambiguities to be
>detected at compile time, in the spirit of a strongly typed
>language.
>
>if you have all the source, you can recompile.
>in the many cases where you don't, you can still run
>the old .class files and they will dispatch to the method
>that was defined in the class against which they were compiled.
>under your proposal, they would get runtime errors, and you
>would be in a real fix, not having the source.
Hmmm, this is a good point. However, hacking the problem by making
execution semantics dependent on the compilation history would seem
to me worse in the long term than eliminating the root of the
problem: overloading. It might be painful to do it at this point, but
I can assure you that overloading would be the least-missed feature
from C++. Even most C++ programmers would agree that it is the single
biggest source of complexity in both C++ and Java. Java would be a
*much* simpler and more elegant language without it, and would then
have a clean, history independent semantics.
I know that no one at Sun really wants to hear that right now, but learn
from the C++ experience: look at all the unanticipated complications that
overloading caused in C++. Who knows what problems still lurk?
Languages can take years of large-scale use before all the consequences
are clear; claims for stability in the Java spec are almost certainly
premature.
Think about the impact of even small problems in the language design in
5 years. If I was Sun I would not put *anything* into Java that was
not incredibly well understood, and vetted by the academic community.
-Dave
-
This message was sent to the java-interest mailing list
Info: send 'help' to java-interest-request@java.sun.com