As a developer, I have spent about equal time the last few years doing paid-for work in three programming languages: Common Lisp, Ruby, and Java. As you would expect, I try to apply the same tools and ideas for all three languages. This helps prevent the small “mental overhead” when switching languages. After reading the Guice User’s Guide while having lunch today, I believe that I am going to use Guice for one or two of my “personal time” projects in order to try it out and add it to my toolkit.
The question that interests me is: how to use Guice patterns in dynamic languages like Common Lisp and Ruby? For Common Lisp, I recently started studying the project Closer – a wrapper for smaller projects for AOP and uniform interfaces (and enhancements) for MOP and context oriented programming. Good stuff!
For Ruby, there are a few projects for injection of control (e.g., Needle).
I am not sure how well spreading this pattern over three programming languages will work for me, but it makes sense to put some effort into consistency.