Okay, so, now, you're saying that the default for just about every
library out there is going to be java[7,8), whereas before you said
that updating list is no problem, because most modules will say they
want the list from java[7,*].

You're not making any sense.

On Feb 24, 11:50 pm, Alex Buckley <alex.buck...@sun.com> wrote:
> On Feb 24, 12:26 pm, Reinier Zwitserloot <reini...@gmail.com> wrote:
>
> > Right, so you agree that there are situations where a module must ask
> > specifically for List[1..7] and cannot just go for [1..*]. I contend
> > that these situations are sufficiently common that there's going to be
> > a LOT of headache with incompatible modules, if this happens.
>
> I agree versioning is a big deal and all module systems - Jigsaw,
> OSGi, Maven, NetBeans - have to educate their users about it
> carefully. Almost no module should depend on a version with an
> infinite upper bound. The common practice in OSGi today is to use
> bounded ranges like [1.0,2.0). A module using or reusing List should
> ask for >=7 or 7.* respectively, which is not possible today and
> prevents Sun and others from sanely evolving APIs.
>
> > You also won't get any errors when you start implementing list when
> > you compile this with java7, which is presumably the state of the art
> > when the library is written. In other words, we have the following fun
> > situation:
>
> > A tonne of libraries out there will all of a sudden break when the new
> > java8 (or whatever) is released with new methods on java.util.List,
> > because they mistakenly specified compatibility with 7+. There's no
> > way to test for this, certainly not at first (at some point I expect
> > findbugs and other tools can find likely problems in this area). Also
> > known as a clustersomething.
>
> > Can't be done.
>
> Legacy libraries implicitly have dependencies on the JDK up to and
> including 7.0. Such libraries are easily identified at compile-time
> and runtime, and bound forever to JDK 7.*. (As I said earlier, the 7.*
> family is very very unlikely to make source-incompatible changes to
> official APIs.) I am pretty sure the Jigsaw module system will default
> to x.* version ranges rather than >=x (i.e. no upper bound) version
> ranges.
>
> In years to come, a library (legacy or otherwise) which likes new JDK8
> List methods can implement List and depend on JDK >=8 specifically.
>
> Alex
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to javaposse@googlegroups.com
To unsubscribe from this group, send email to 
javaposse+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to