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

Reply via email to