Friday Feb 02, 2007
Friday Feb 02, 2007
In recent years, many Java language features have been developed under JSRs. Notable examples are generics (JSR14), assertions (41), annotations (175, 308), and enums, autoboxing, foreach, varargs and static import (201). Language JSRS are part of into the core platform and get incorporated into the JLS.
As people adopt a new Java SE release, they explore these features for the first time and file Requests For Enhancement about them. RFEs in the scope of JSR201 are especially common. Unfortunately, it's really hard to approve any language request that once fell within the charter of a language JSR. A JSR Expert Group spends years considering every aspect of a feature, so if they design something a particular way, that's what the JLS will say. Determining an Expert Group's reasoning years after the event can be hard. However, I do try to discern it and include it in the Evaluation of any RFE that concerns a JSR-derived language feature.
But by default, and especially if history just isn't available, it's not appropriate to overturn or extend the scope of such a feature, no matter how reasonable the request. Only in an exceptional case will the JLS change in a non-trivial way.
Posted by Bharath R on February 02, 2007 at 10:30 PM PST #
Considering how we agonised over the relatively-simple and benign "assert", I do hope that the seemingly cumbersome and controversial closure and properties proposals get evaluated especially carefully.
Huge wodges of complex semantics/syntax for use cases that many may never need, with all the probable unintended consequences and bafflement that are at risk...
Rgds
Damon
Posted by Damon Hart-Davis on February 03, 2007 at 01:51 PM PST #