Joe Darcy recently cited discussion threads in which the source statement was supposedly found to be problematic.
I perused them -- and didn't see any substantive problems uncovered in the course of those discussions. Personally I think a source statement would be a good thing. Otherwise if you have a large set of sources in a module you have to go through all sorts of shenanigans to compile some stuff with -source x and others with -source y. This configuration is unnecessarily complex and is fragile -- since the information is separate from the source files. The discussion did bring up cases where compilation against different JDK library versions was required. This problem is rather annoying in cases. For instance, the JDBC Connection API in Java 6 adds a whole lot of methods, many of which use classes only found in Java 6. Thus if you have a FilteredConnection class that implements Connection, you have to compile a different source file if using JDK 5 than for JDK 6 -- there's no FilteredConnection source that will compile under both. Yes, in this case a dynamic proxy would work around the issue. Overall, however, there seems to be an overly cavalier attitude towards growing existing interfaces rather than adding other interfaces that are used as mixins. JDBC appears to be the worst case -- forcing one to compile lots of code with Java 5 in order to run under Java 5 irrespective of -source and -target flags. In the end, however, this whole mess is different than the -source issue -- and can only be addressed by considering such issues when making JDK API changes. -- Jess Holle Casper Bang wrote: > I agree with your analysis although I often think of this as a > question. Why is it that it's ok to invent a totally new language but > shaping an existing one according to state-of-the art is not? It seems > like we are forced into making the hard choice between something > radically new (Scala, JavaFX) or legacy (Java). > > The only difference is that the radically new has no backwards > compatibility to worry about (yet). So how come we don't just evolve > the existing stuff and let go of some compatibility with the benefit > that you are offering the existing community a gradual and painless > transition (but forego backwards compatibility). It's not clear to me > why JavaFX was not made broader than it is, so it could effectively > function as such as replacement. > > /Casper > > On 17 Sep., 12:23, hlovatt <[email protected]> wrote: > >> You can see in this discussion group the tension between: "don't make >> changes" (Bob) and "lets keep advancing Java" (Reinier). I am in >> Reinier's camp, but think that both points of view can be satisfied >> with a source statement. If there is no source statement then the file >> compiles as it does now, but if the file has source "Java7"; at the >> start then you can use the new features and most importantly a file >> with source "Java7"; at the start does not have to be source >> compatible with current Java (though the two need to co-exist on the >> JVM - just like JavaFX and Java do today). >> >> This way everyone gets what they want. >> >> -- Howard. >> >> On Sep 17, 2:52 am, Bob Lee <[email protected]> wrote: >> >> >>> On Wed, Sep 16, 2009 at 12:59 PM, Reinier Zwitserloot >>> <[email protected]>wrote: >>> >>>> There were a few proposals that didn't make it that >>>> nevertheless received some positive feedback and went through a bunch >>>> of iterations (case in point: Neal's exception handling proposal!), >>>> that were nevertheless not shortlisted. >>>> >>> You keep pointing to Neal's proposal, but one example doesn't connote a >>> trend. Let Neal champion his own proposal. >>> >>> While having a preliminary process might save some people some time, it's >>> not something I'd spend time on. I doubt anyone else would either. Frankly, >>> I hope the Java programming language *doesn't* change much more. I certainly >>> don't want to do anything to encourage more change. In 5 years, Java will >>> look a lot like C++, and we'll look back and say that we should have just >>> stopped 5 years ago. >>> >>> Bob >>> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "The 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 -~----------~----~----~----~------~----~------~--~---
