Many programmers confine projects to one language, but this severely limits their potential.<p>If Python (or anything else) isn't perfect, that doesn't mean there is necessarily a problem with the language, or that you shouldn't use it. For example, once I became familiar with SWIG, I was not at all afraid to use C++ for the things that needed to be fast, while continuing to use Python for a large portion of what I had to maintain. And, I don't automatically write every script in one language, I use whatever is most suitable to the task.
synopsis: the problem with dynamic languages is that they are dynamic.<p>my response: nothing is a win win in life, there is always a trade off somewhere. the ability to modify a running system on the fly means you can get runtime errors that a static system would be able to find before startup.