For big programs, python's greates weakness tends to be its biggest strength - its dynamic nature. The fact that there is no strong type checking done by the compiler (i.e. one can enter i=1 and later change the type of i to a string via i="hello") can introduce a lot of confusion.
I'd really like to hear about a python tool that could at least generate warnings at compile time about these type changes.
PyChecker (http://pychecker.sourceforge.net/) is a tool for catching the most obvious errors, but I'm not sure if it handles your specific case.
But in reality, how many (and especially hard to find) problems does the dynamic typing cause? Even primitive unit tests (or manual testing) catches errors like typos right away. Static type checking by itself guarantees very little about the correctness of the program.
And Python's competitor Java doesn't really isn't any different in this regard. Until JDK1.5 comes out, the minute you use the Collection API, you forgo any (small) benefit static type-checking might give you.
But these clauses are about the license, no? The way I see it, it's an entirely different matter if the CODE discriminates against some group. :-)
PyChecker (http://pychecker.sourceforge.net/) is a tool for catching the most obvious errors, but I'm not sure if it handles your specific case.
But in reality, how many (and especially hard to find) problems does the dynamic typing cause? Even primitive unit tests (or manual testing) catches errors like typos right away. Static type checking by itself guarantees very little about the correctness of the program.
And Python's competitor Java doesn't really isn't any different in this regard. Until JDK1.5 comes out, the minute you use the Collection API, you forgo any (small) benefit static type-checking might give you.
The new introspection facilities introduced in version 2.2 allow one to go around Bastion and rexec restrictions.