On Nov 4, 3:40 pm, Patrick Wright <[EMAIL PROTECTED]> wrote:
> I think that, in principle, Java could be extended in interesting ways
> and could take cues from other languages (including, sure, C#), but
> lately I'm tending to agree with Josh Bloch that Java's complexity
> budget is used up. Every change at this point seems to imply a great
> risk to instability (or unexpected side-effects) somewhere else in the
> language or the library ecosystem.
>
> Another issue--and I'm not sure how MS addresses this--is that it's
> becoming very hard for any new proposal for changes to the language to
> gain much traction at this point; there's too much disagreement on
> each proposal (including, in the last year+, both properties and
> closures) and that makes it hard to build any real consensus. A lot of
> anger comes up in these discussions, and there are certainly those who
> would like to roll the releases back to 1.4, as well as those who
> would like Java the language to move forward aggressively. These
> people simply aren't finding common ground. So my guess is, Sun would
> have to try and "pull a JCP" and just dictate what the changes would
> be. But then, look at how much controversy Java 5 caused, for example;
> I think they just don't want to go through that again.

I'm a Java programmer, and I'm learning C#.  I was also a designer and
implementer of language features for Java, and now I'm doing that for
C# as a member of MS's language design team.  C# is not more suited to
further evolution than Java, but it continues to evolve quite
successfully.  So I can tell you exactly how MS addresses this.

The perception that Java's complexity budget is used up, and that the
language is too brittle to undergo further evolution, arises commonly
among people who think themselves capable of language design but who
don't really have the background, training, or skills to do it.  If
they attempt to draft or implement language proposals, when the
feedback arrives they realize there were many interactions that they
didn't consider, and that the task is far more difficult than they
thought.  From this they come to the incorrect conclusion that the
language has become too complex and further evolution is impossible.
A related effect is that nonprofessionals sometimes mistake a formal
specification for a user guide, concluding that properly proposed
changes would be too difficult to use.  Language design is not easy,
and like many other fields requires a great deal of work by
professionals.  The ideal end product seems intuitive and easy to use,
but that hides the effort that went into creating it, resulting in the
false impression that language design is easy.

The Java language is well suited to further evolution, provided that
the language design is done by professionals with the appropriate
skills.  Most important is to have a single individual or a small like-
minded team responsible for the decisions to ensure consistency of the
whole.  Language design is not a community exercise suitable for a
large-scale democratic process.  Unfortunately, Sun doesn't seem
willing to invest in the resources to make it happen.  That, more than
anything else, is the obstacle to the language's evolution.

Regards,
Neal

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to