At work, I've been doing Java work again. It's weird going from Smalltalk to Java to Smalltalk and now back to Java. I've kept up to speed on my Java skills, so it's not like I'm starting from ground zero. We've been using Java5 and the generics are not as bad as I thought. They are actually quite handy to catch those pesky cast problems. But, they can get hairy if you don't have a proper object model.
Java is a different way of thought and there's advantages and disadvantages. The advantages are the sheer number of frameworks to pick from. It can be overwhelming. We decided to go with simply Hibernate/Tomcat/Axis for a simple SOAP web service. It's strange going back to a compile/wait cycle, but it's not bad. As for the disadvantages, it's a lot of configuration files with awful error messages if you happen to miss type your class name.
It's an interesting journey. I'm curious as to how Groovy makes the Java experience easier since it gives me my beloved "cheap" closures. It integrates tightly with Java (similiar syntax) and accepts the fact you are running on the JVM. Hopefully, I'll get a chance to try it out on a small piece.
Don't worry I still love Dynamica and will travel there in the evenings to dream. I will never give up my Smalltalk, Lisp, or Ruby, my brothers!