The Source for Java Technology Collaboration
User: Password:



Start New Message Post a Reply

Subject:  Most important: A versioning strategy
Date:  2007-01-19 07:01:18
From:  aehrenr


Beside XML support or properties I want them all :-).
But I think most important is a kind of comprehensive versioning support that should build on the module system.
It would have to be a smart system so that it becomes possible to bundle older versions of libraries and newer ones. Older programs automatically link to the older version, newer programs to the new version. Then it would be possible to refactor or improve the APIs. Imagine, Swing could use enums, support Closures, the Date class could be fixed and so on.
If the whole thing is really smart this should also allow the language to be improved without complete backward compatibility of the source: One can specify the compiler the 'incarnation' of the language to be used and code converters in the IDE point to conflicting sites in the source that have to be modified to upgrade or downgrade 'incarnations'. A 'incarnation' is a range of versions that are source compatible.
This would allow clean implementations of new features (e.g. new keywords) and the removal of old ones. (e.g. closures in, anonymous inner classes out)
While you are at it, improve the class format to fix inner classes support and runtime representation of generics.
Altogether this would be a strategy for Java to stay young, because old things can be left behind, but old programs still run and old libraries can still be used and old source still be compiled.

 Feed java.net RSS Feeds