For me, I am not sure if adding new major language changes to Java is a pretty good idea or not. But a general idea is that I totally agree with one of the replies who specifically said:"The reason of success for Java was that it was a simple language that can easily be kept in mind, but was powerful enough to get most jobs done.".
Any way, this is what I think in details:
- Language-level XML support : why adding new features that would tide the language to something else other than Java (like we did with Java and Expression Language (EL)). IMHO, I think the way Java community did with the Scripting project (JSR 223) is a much better way of using other things than Java inside Java. It makes it very easy to use, and still have a very high way of abstraction and isolation of dependencies between Java and others, even if it was XML. The reason why I am saying this is because to add XML support you will need to add support for a lot of XML-related technologies. We do have some of them already in the JDK XML packages and classes implementations. But why add them to the Java syntax.
- Closures : I am not sure what closures are. But when I read about it, the first impression I had is that its syntax is complicated.
- Block constructs : don't know.
- Strings in switch statements : Yes. I think it is a very useful feature.
- Language support for
BigDecimal :I am not sure what is the feature in this.
- Java property support : I have read a long article discussing this feature right here. And to tell you the truth, my final conclusion is that IT WILL depend actually on how they propose it. I find it very useful, but it really needs to be easy to use.
- Lightweight method references: Not sure what is the meaning of this.
- Extensions to the annotation mechanisms: Yes (if it means annotations inheritance).