Suggestions for Java Generics Semantics in Java Version 7.0 _ Resurrected
neal at gafter.com
Fri Jun 19 10:19:59 PDT 2009
On Thu, Jun 18, 2009 at 9:04 AM, Florian Weimer <fweimer at bfk.de> wrote:
> * Neal Gafter:
> > No, we didn't work under that assumption. Generally speaking, it has
> > been a goal to allow code written against one version of the platform
> > specification to run on an earlier version of the platform.
> Sorry, but without that, what you called "migration compatibility" is
> largely pointless.
> If I need to branch due to a platform upgrade, it doesn't matter if
> the code I compile for the new platform version, after using new
> platform features, is theoretically compatible with my old code.
> Without tool support, it's not possible to ensure that both versions
> are fully consistent. Anybody who swaps one version for the other
> might face nasty suprises.
Migration compatibility ensures that you don't need to branch due to a
platform upgrade. If you want to ship one version for customers on multiple
platform versions, you can restrict yourself to the features of the lowest
version number of the platform (e.g. don't use generics). Migration
compatibility ensures that your customers can use generics in types received
and produced by your APIs, even if you don't generify the types in your
APIs. Without migration compatibility, your customers would be forced to
use raw types.
More information about the jdk7-dev