> Well this is one of those things that is ignored when > people claim that dynamic languages are faster to develop > in. The testing burden is a bit higher (even if people > don't want to admit it) and the documentation burden is > much greater. Once you take these things into account, > I'm not sure that it's true that it's much faster. If you > don't do these, then it seems like you are really speeding > along but in the long term you pay for it. For things > that are small enough to fit in ones brain all at once, I > think the benefits of a dynamic language like Python far > outweigh the costs.
The testing burden in dynamically typed languages is not greater than the testing burden of statically typed languages, provided that you do functional testing for all your requirements. Actually, the testing burden is equal in both cases.
The documentation burden is also equal in both cases. Even with static typing, types do not tell us anything about how the variables are used, so they have to be documented.
Personally I document every variable and member attribute/method of my classes either in Java or C++. It feels incomplete if I do not do that.