Java, Ruby and Closures

I hate linking when I can’t add any value, but here is a great little read on Closures and Java:

Tim Bray 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.