Static type system over dynamic language - short stories.
kailuowang.blogspot.com
kailuowang.blogspot.com
Sure, if you've got great test coverage, you get that with test automation. But I can't tell you how many refactors with "reasonable" (< 100%) test coverage went flawlessly in java with just a compile/fix-compilation-errors loop. I think this is much easier than a run-tests/fix-bugs approach with a type-free language. This is especially true when you've got maturing code and lots of ownership hand-offs.
Any tips on static analysis for ruby/python out there for a curmudgeonly java dev?