Casper Bang wrote:
> True, but I don't think many are aware of this.
Hmm.... I've used {...} liberally for scoping in Java and C++ since I
first used C++. It's one reason I consider C unusable even compared to
C++'s and despite C++'s sins.
> The JDK7 proposal by
> Joshua Bloch specifically adds the multi-scoping aspect over the
> existing C# implementation, which only allows multi-scoping of the
> same type.
>
> Constructs that minimizes variable leakage into scope space (temporary
> variables) appeals somewhat to me, something Lombok can't possible
> address without an ElementType.TYPE_BLOCK.
>
> I assume this is also a major reason why certain well known people on
> the Coin mailing-list claim this should be handled in the language
> rather than by annotations. There's a profound fear of the misuse of
> annotations, though personally I consider annotation DSL burial (JPA)
> way more abusive than say Lombok.
>
Annotations whiich produce language-like effects, i.e. changes in the
byte code (not just metadata) for the class in question is a slippery
slope. The extreme cases would generally seem to be a bad thing --
though it is the only way we have to (relatively) cheaply get something
like Lombok right now.
There's a /huge /aversion to new keywords at this point and something like
try InputStream in = new FileInputStream(path);
just doesn't look right. Something like
auto InputStream in = new FileInputStream(path);
might, but it's still a new keyword.
Overall, however, the point is that to eliminate the need for {...}
bracketing where it is otherwise unnecessary, e.g.:
auto Foo foo = new Foo();
auto Bar bar = new Bar();
auto Baz baz = new Baz();
// code using vars here ...
rather than (in the one true bracing style):
try ( Foo foo = new Foo() )
{
try ( Bar bar = new Bar() )
{
try ( Baz baz = new Baz() )
{
// code using vars here ...
}
}
}
or even
try ( Foo foo = new Foo() ) {
try ( Bar bar = new Bar() ) {
try ( Baz baz = new Baz() ) {
// code using vars here ...
}
}
}
--
Jess Holle
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---