On 7/20/2012 2:42 PM, Kevin Wright wrote:
Nothing wrong with a half-baked solution. Something can have definite value even if it's not "complete". But without the ability to evolve the thing and change APIs under a different version number, it's too risky to release in such a state.
No module system will give you what you want -- an ability to radically and incompatibly change longstanding public APIs whenever and wherever this is deemed more correct/pure/perfect, e.g. wherever you'd do it differently if you could do it all over again.

That's a recipe for destroying the community -- irrespective of the module system. OSGi wouldn't support that any better -- just imagine an application using libraries which had 4 different versions of the java.lang.String that they are trying to call one another with or having to support 4 different flavors of your library (and maintenance bug fixes to each) just to deal with the 4 different versions of java.lang.String. Now imagine being faced with 4 different versions of java.lang.String and 4 different independently varying versions of java.util (what's the point in having modules if you can't increment some versions indepedently)...

Modularity is important. Library versioning is important. Neither allows you to redesign the core language APIs without either providing backwards compatibility or fracturing the community -- those are your choices.

--
You received this message because you are subscribed to the Google Groups "Java 
Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to