I hate linking when I can’t add any value, but here is a great little read on Closures and Java:
My argument is simple: Java worked so well because it hit the 80/20 point; for my money one of the loudest, cleanest 80/20 technology victories ever. Subsequent attempts to fill in the 20% were, well, mostly harmless. Until generics, which are a disaster; they have made Java harder to learn and to understand, and you canâ€™t avoid them.
I could not agree more with the general gist of this (even though Tim refrains from drawing a conclusion). I’ve never felt completely comfortable with generics, I don’t feel they added to my Java code in any meaningful way, and I can’t see closures being a natural fit either – though I haven’t really looked at the proposed implementations.
Closures in Ruby on the other hand are simple and beautiful, and they’ve been there from the start. I don’t have any experience with Scala however, but I’m keen to have a little dig into how they handle closures over in that world.