Optional require(s) NonNull
gregg at wonderly.org
Tue Oct 30 12:26:14 PDT 2012
On Oct 30, 2012, at 12:24 PM, Brian Goetz <brian.goetz at oracle.com> wrote:
> So, let's keep our input on the subject to that which is within the design center of the current implementation, rather than trying to convince us to change the design center.
Over the years, there has been several things about Java which the larger community has wanted to change. Practically this kind of response has been a common theme in how the community has been treated.
In JDK 2.x, Sun engineers added all kinds of new stuff which completely broke all kinds of things and made quite a disaster out of about 2 years of Java experience. I know of several companies who looked at JDK1.8 as a remarkable step forward and tried to develop projects in JDK 2.x, expecting it to only get better. The end result was that they wasted time and real money on something that would never work out beneficial to them. Sun seemed to have learned about this given the subsequent statements at JavaOne and elsewhere about how that debacle would never happen again. Stability was going to be a design center. It seemed like Sun might be listening, but I found that not to be the case for all engineers at Sun as I tried to get various Sun led JSRs to focus on things which I needed Java to do well.
I find it particularly strange that throughout the years, Java engineering from Sun and now Oracle seems to be focused on just what is desirable to them. I understand, given the position of where this development is at now, and what these discussions are pressing, that perhaps there is a huge gap such as you describe, between your design center, and what the community, at large, is asking. It begs the question though, why does this gap exist? Why didn't the community end up involved early enough to perhaps be more influential on the design center?
What seem ideal to me, is that Java actually would do more of what the developers want, and less of what Oracle engineers think that it should do. Why, for more than a decade, that has been such a foreign concept is beyond me. But, once again, we seem to be seeing evidence that Oracle is not a custodian or a participant, but rather the dictator of where things will go.
Seeing lots of different JVM based languages being developed, with similar functionality, but with a couple of new features tacked on, seems to indicate to me that many different people have given up on getting Java fixed to take care of issues important to them as well.
More information about the lambda-dev