I know this docs. We also had the same discussion on java-dev half a year ago.
Generics are not visible in the compiled java code, they are "erasured" and replaced by their upper type (at least Object, like for Collection API). "E Extends Attribute" in my example would be replaced by Attribute. Because of that you can run old Java 1.1 programs still with Java 1.5 using the whole collection API, which is the best example for Generics. If you be careful, there is no backwards break beyond using a new class format and because of that the requirement to upgrade to Java 1.5. The class format was updated, to allow compilers, to get the generics information to check source code and apply the correct tasks (this information is added to the class metadata). The JVM itself is not using it, and because of that 1.4 programms just run unmodified, even without recompiling. Just read the tons of discussions/howtos on the web about the whole type erasure. ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: u...@thetaphi.de _____ From: Grant Ingersoll [mailto:gsing...@apache.org] Sent: Friday, August 21, 2009 3:51 AM To: java-dev@lucene.apache.org Subject: Re: Finishing Lucene 2.9 Please read the archives on the 1.5 move. We have discussed it many times. There is also a Wiki page on it under the committers section. While technically it breaks back compatibility, we are going forward with it and we decided to allow generics, etc. right from the start. We also didn't feel like we had to convert everything in one fell swoop, either, as that will break many existing patches. On Aug 20, 2009, at 4:29 PM, Uwe Schindler wrote: It would *not* break apps without generics, if the "upper" type is the same (which is easily fulfilled by my example with the AttributeSource). The whole 1.5 Java Collection API uses generics and 1.4 programs still run. ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: u...@thetaphi.de _____ From: Shai Erera [mailto:ser...@gmail.com] Sent: Thursday, August 20, 2009 3:05 PM To: java-dev@lucene.apache.org Subject: Re: Finishing Lucene 2.9 What will be w/ generics? Won't they break cack-compat as soon as we add them (e.g., if we move to accepting parameters as generics - it may break an application which does not use generics yet). I think that the move to 1.5 needs to include the generics as well, unless we're willing to break back-compat later on. Shai On Thu, Aug 20, 2009 at 3:58 PM, Mark Miller <markrmil...@gmail.com> wrote: Michael McCandless wrote: > On Wed, Aug 19, 2009 at 6:21 PM, Mark Miller<markrmil...@gmail.com> wrote: > > >> I forgot about this oddity. Its so weird. Its like we are doing two >> releases on top of each other - it just seems confusing. >> > > I'm also not wed to the "fast turnaround" (remove deprecations, switch > to generics) 3.0 release. > > We could, instead, take out time doing the 3.0 release, ie let it > include new features too. > > I thought I had read a motivation for the 1.9 -> 2.0 fast turnaround, > but I can't remember it nor find it now... > > Mike > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-dev-h...@lucene.apache.org > > I thought the motivation was to provide a clean upgrade path with the deprecations - you move to 2.9 and move from all the deprecated methods - then you move to 3.0 and your good with no deprecations. I'd guess the worry is that new features in 3.0 would add new deprecations and its not quite so clean? Personally, I think thats fine though. New deprecations will come in 3.1 anyway. You can still move everything in 2.9, and then move to 3.0 - so what if something else is now deprecated? You can move again or wait for 3.9 to move ... -- - Mark http://www.lucidimagination.com --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org -------------------------- Grant Ingersoll http://www.lucidimagination.com/ Search the Lucene ecosystem (Lucene/Solr/Nutch/Mahout/Tika/Droids) using Solr/Lucene: http://www.lucidimagination.com/search