On Thu, Nov 26, 2009 at 9:27 AM, Sean Owen <sro...@gmail.com> wrote:
> There are some more issues, I think, with approaching it this way > (e.g. UnsupportedOperationException defers API contract problems to > runtime, which could be bad), but I bow to practice, and also don't > feel strongly about it. > > You defer a few problems to run-time, but not the major ones. The run-time deferral occurs when there is a new use of an old class implemented by an outside party that assumes that the old class matches some new contract. This is less common than the case where you want to extend available functionality, even in an interim way, and you don't want to completely break even the old uses of old classes in the process. This is a very common problem in open source.