Sometimes, an interview just doesn’t go as planned. I throw out a lot of questions and answers from the interviews I do, either because the answers are better combined or they just don’t fit with the rest of the interview. Occassionally, some of my favorite questions don’t make the cut. In my recent interview with Robert Glass, I has one such question. Since I couldn’t bear to bury it, I decided to ask it here.

Bob and I were talking about mjd’s Design Patterns of 1972, and I asked:

Some patterns are not so much about design as they are about limitations in the expressiveness of languages. For example, the Iterator pattern in Java. This pattern represented a weak point in Java’s encapsulation. In Ruby, Iterators disappear behind the syntax of passing anonymous code blocks. What other patterns in use today that would be good candidates for replacing with better language features?

What do you think?