I like the syntaxes of your typical functional language. So stuff like ML and Haskell. Different strokes. A matter of opinion and preferences. Which you can respect and also respectfully disagree.
Not to cause any trouble or anything but the best description of Python's type system is loose - dynamic works but hides the nature. There are types kinda there but not really/only loosely in the type theoretic sense (for example at first glance it appears to be simply typed but it clearly is not, having far more power than a language with only such. Types from type theory do not really map to its notions of 'types'). I mean the whole monkey patching duck typing farm animal thing it has going flies in the face of type theory.
Python is not strongly typed - if (c = 7) comes up as a syntax error not a type mismatch, you can add floats and ints without conversion, the following:
def myfun(x): if (x == 7): print "NN" else: x
runs. in a language with strong typing it would be invalid since the type of the first branch does not match the second, etc. And to be honest strong typing done properly is an annoyance. Python semantics are closer to an untyped language than a typed one. And that is its strength really, why it is able to leverage its metaprogramming like facilities.
C++ is definitely not strongly typed - no need to look further than the existence of raw pointers. In some languages you can have implicit typing and still be static, such as haskell. You dont tell the compiler any types it infers the most general one.
[Edited by - Daerax on October 9, 2008 10:05:03 PM]