
Python – programming is fun again - knivets
http://knivets.com/blog/python-programming-is-fun-again/
======
setheron
I like dynamic languages for small fun projects as much as the next person
however I never found them to fit for large projects. I'm always
impressed/curious how people deliver large software on a dynamic language. I
guess you just have to unit test twice as much (to compensate for the
compiler's checks?)

~~~
ubernostrum
_I guess you just have to unit test twice as much (to compensate for the
compiler 's checks?)_

I still personally just aim for a combination of auto-verified 100% coverage,
and an intuitive sense of whether it's real testing or "call this to get it in
the coverage report" testing; I also try to keep functions/methods short
enough, and overall systems simple enough, to be able to think about the
various code paths and ensure I have tests to cover them all.

I don't and never have worried about whether I'm appropriately type-checking
everything, and in fact that idea is antithetical to why I work in Python
(i.e., Python is a "care about the interfaces, not about the types" language).
I have seen people coming from Java-land who write tons of "if not
isinstance(some_var, some_type)" checks, but sooner or later they get over it
and learn that these things are rarely if ever actually necessary.

