Cleaning things up
This is more a philosophical posting...looking more for philosophical input on how the language should change (or not) than specific language suggestions.
As I'm reading these posts, one point that comes across is that people would like additions to the language itself to make Java code less verbose, and to reduce visual clutter.
I have read in a number of forums how Java (the language) is too verbose, that is, the language syntax forces one to write long statements that, in a large program, feel like visual clutter. This argument sometimes comes from users of other languages that can express the same intention with fewer commands (or less typing).
Tiger improves the language, potentially reducing visual clutter, with all of the major enhancements: for-each loops, autoboxing, generics...so that is good.
The trick is, Java has a pretty consistent philosophy of "what you see is what you get". Imports, for example, can either be explicit, or can include everything in a package with the single package.* matcher. We could have a more complex regex matching for package imports (or use cool things like Ants ** matcher for recursive imports), but arguably the effect would not be obvious for programmers coming to our programs after the fact. Same for the lack of a pre-processor routine, and macros, in compilation. It makes the intent more clear by prohibiting a feature that has proven to _hide_ intent (or the end effect) in other languages.
Some of the principles that seem to guide the development of the language
non-ambiguity: language constructs have a single, clearly obvious meaning (so no op. overloading)
clear intent: the intent of the programmer is made clear because they can't easily be ambiguous (in the language, APIs are different)
clear effect: the end result of a statement or set of statements is more clear because there the parts of the statement, and the composition, are kept simple by the language
I believe the trick is how we can continue to hone the Java language without sacrificing these principles.
To state this as a question: how can we change the language to reduce verbosity and visual clutter without sacrificing the principles of non-ambiguity, clarity of intent, and clarity of effect?