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 -~----------~----~----~----~------~----~------~--~---