Defender Extension Methods -- Resolution and Invoccation
Neal Gafter
neal at gafter.com
Wed Aug 4 20:12:25 PDT 2010
On Wed, Aug 4, 2010 at 6:49 PM, Paul Benedict <pbenedict at apache.org> wrote:
> Correct me if wrong, but did you just point out that default
> implementations can change from release to release? I never considered that.
> Even if Oracle would never do that :-), it is likely other developers will
> be less stringent. Perhaps release X defaults to a quick sort, and release Y
> replaces it with a better sort.
>
> I have strong reservations about making interfaces know anything about
> implementations.
>
> Would anyone here sign a contract where the other party can freely amend at
> will? No Facebook Privacy Policy jokes please :-) But the point being, if I
> code to a contract, I don't want someone amending it without me explicitly
> implementing it on my end. If the new defender methods add things that are
> just ostensibly against my programming model, and change what I think is a
> preferred implementation, the idea of a contract is defeated.
>
Implementation details are not part of the contract. If you don't like
implementations changing from release to release then I think you have no
choice but to stick to one version of the Java platform forever. The
addition of defender methods does not change that.
More information about the lambda-dev
mailing list