I fall in the "closures seem like syntactic sugar for anonymous inner classes" camp. Sure, anonymous inner classes are ugly, but they are consistent with the whole object-oriented paradigm and relatively easy to read. This was the whole point of Java: being a truly OO language that shedded all the complexity and ambiguity from C++ and other languages.
Anyways, I don't see anonymous inner classes used too often. Sure, it would make a few classes shorter (Swing-based dialogs with event listeners and classes doing collection filtering), but they are far and few between. Closures would not increase greatly the overall readability and maintainability of my applications.
Don't spend energy on increasing the complexity of the language to appease a highly vocal minority of dynamic language users. As was expressed earlier, there are features that are way more important right now and in the next ten years: proper packaging, better support for native execution, bug fixes... |