[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Java

   Date: Fri, 7 Dec 2001 10:28:42 -0500
   From: "Steven Richman" <richman@lcs.mit.edu>

   I think you're seeing propagandism where there is none. 

You're right.  I was being oversensitive.  I apologize.

Yes, the parameterized type feature has sure been a long time coming.
I don't know much about why.  From something Guy Steele told me at the
LL1 conference, I get the impression that it turns out that defining
it all so that everything really works just right has turned out to
take lot more careful and painstaking work than one might have expected.

The memory model stuff is one of the very few areas where I think Java
tried to break relatively new ground.  It's too bad these ideas hadn't
been subject to a lot more scrutiny before the Java Language Spec was
written.  This particular feature didn't follow the model (that
Richard Gabriel discusses in his slide set) in which ideas get
developed and iterated over in the research domain before they start
getting into the greater world.

Just one thing:

				    And, most importantly, there's no
   consistency across current JVMs; the Java memory model has failed.

I think that may be too strong.  Pugh's paper says "At least one
shipping optimizing Java compiler violates the constraints of the
existing Java memory model."  I don't think that constitutes "no
consistency".  My own experience has been that in practice, so far as
I know, we haven't had any portability problems with this, almost
certainly because we're not pushing the edges of what the memory model
definition says.  What Pugh is doing is great and I hope that there's
a path where the fruits of his labor can be integrated into future
Java releases.