I had a chance to attend a local meetup last night where the presenter was author and speaker Dr. Venkat Subramaniam. As you can imagine, the session was very well-attended with more than 50 people (probably closer to 80 people) there to hear Venkat give another engaging and informative talk.
One interesting thing he discussed was the Execute Around pattern aka the Loaner Pattern. The example he gave looked a lot like what I know as a Callback really but I guess there's enough nuance to make a difference. I have to study this a little more slowly and deliberately as Venkat's presentation style is a bit of a firehose. I did like his naming convention in using "block" to represent the "lendee" or the block of code that you wanted to wrap some template code around.
There were other interesting patterns he gave, like the "lazy execution" pattern. In all, I think he discussed about 10 different patterns of usage for Lambda expressions.
1. What kind of interesting design patterns have you seen in your own usage of lambdas and streams?
2. How soon can we get Venkat in here as a guest author to promote one of his books?
3. Also, does it have to be a book promotion? Have we ever tried to invite someone to discuss something of a smaller scale, like a presentation or article?
I got a chance to talk to Venkat afterwards and he's very approachable. When I mentioned my collaboration with the university professors in Germany on doing code reviews for their students' projects, he was very eager to show me his own work at the University of Houston, doing something very similar with his own students. He gave me his card and promised to put me in touch with other people he knows who are doing the same kind of thing. Turns out he actually wrote the foreword for the book "Java by Comparison" which is based on this kind of work. Duh.
The best ideas are the crazy ones. If you have a crazy idea and it works, it's really valuable.—Kent Beck