I remember coding in Ruby a few years ago. Dynamic typing is great if you have a close knit team of good programmers. It really allows test-driven development (static typing requires at least an interface).
However, it is not very nice to automated refactoring, at least not without excellent...