Java and C# continue to crawl along the trail blazed by Smalltalk over 20 years ago - witness this post about creating your own foreach() method:
Even if you never use this code (I won't!), you can see at a small scale the power of thinking in closures, especially for implementing language features. This is one of the reasons why Smalltalk was such a small language - you could implement much of what Java programmers think of as language as library methods. Lisp and FORTH are small languages (at least conceptually - ignore Common Lisp!) for similar reasons. Java 7 is aiming in the same direction.
Of course, you can enjoy a small language now, instead of waiting for the gremlins of the JSR to figure out why it would have been a good idea :)
Technorati Tags:
smalltalk, java, software development