"no variable or argument declarations are necessary."

Diez B. Roggisch deets at nospam.web.de
Wed Oct 5 11:06:03 EDT 2005


> This is naive. Testing doesn't guarantee anything. If this is what you
> think about testing, then testing gives you a false impression of
> security. Maybe we should drop testing.

Typechecking is done by a reduced lamda calculus (System F, which is 
ML-Style), whereas testing has the full power of a turing complete 
language. So _if_ one has to be dropped, it would certainly be 
typechecking.

Additionally, testing gives you the added benefit of actually using your 
decelared APIs - which serves documentation  purposes as well as 
securing your design decisions, as you might discover bad design while 
actually writing testcases.

Besides that, the false warm feeling of security a successful 
compilation run has given many developers made them check untested and 
actually broken code into the VCS. I've seen that _very_ often! And the 
_only_ thinng that prevents us from doing so is to enforce tests. But 
these are more naturally done in python (or similar languages) as every 
programmer knows "unless the program run sucsessfully, I can't say 
anything about it" than in a statically typed language where the 
programmer argues "hey, it compiled, it should work!"


Regards,

Diez



More information about the Python-list mailing list