Skip to content.

Manageability

Sections
Personal tools
You are here: Home » blog » archive » JSR 201 and Non-Disruptive Language Extensions

JSR 201 and Non-Disruptive Language Extensions

20021204065742

Looks like there's a new JSR in the JCP, the following will be added to J2SE 1.5:

  1. Enumerated Types.
  2. Automatic conversion of primitives to their object wrappers. 
  3. Enhanced for loops.
  4. Unqualified constants.

Anyway, the JCP reads: "We have therefore approached the task of updating the Java programming language with considerable trepidation. The existing spirit and features of the language are used by a very large developer community and we wish to avoid disrupting or annoying existing users."

Clearly, the changes aren't too radical, but I'm curious, what kinds of language changes are disuptive?  Obviously, one that does change the VM specification, and of course, the syntax change that makes older code fail compilation.  So, given that we can define non-disruptive language extensions, could we not define a standard way of extending the language?
 
A 1998 paper by Guy Steel "Growing A Language" points out this issue. Guy asks "How should the Java programming language grow?".  He writes: "A language design can no longer be a thing. It must be a pattern - a pattern for growth - a pattern for growing the pattern for defining the patterns that programmers can use for their real work and their main goal."  Read that quote a second time! So he tells us to "go meta", this I hope the next JSR should look like.
Created by admin
Last modified 2003-07-30 04:15 PM
visitors
reading
 
 

Powered by Plone

This site conforms to the following standards: