The JLS and JSRs

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.

Comments:

Heartening (and not very surprising) to know that there is so much deliberation before a language change JSR makes it to the spec. I hope similar diligence is done in case of (unnecessarily) complicated proposals like Closures and the new Properties syntax .

Posted by Bharath R on February 02, 2007 at 02:30 PM PST #

Hi,

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 05:51 AM PST #

Post a Comment:
Comments are closed for this entry.
About

Alex Buckley is the Specification Lead for the Java language and JVM at Oracle.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
Feeds