On the other hand, there may be more ways to factor out redundancy in a language with dynamic typing.Aside from the static vs dynamic typic issue, I do think refactoring is going to be very difficult in any framework that scatters programming logic across a variety of technologies -- technologies such as programming language, XML, JSF component definitions, and JSP scriptlets.