On Oct 2, 11:08 pm, johannes raggam <[EMAIL PROTECTED]> wrote: > statically typed language: A language in which types are fixed at > compile time. Most statically typed languages enforce this by requiring > you to declare all variables with their datatypes before using them. > Java and C are statically typed languages. > > dynamically typed language: A language in which types are discovered at > execution time; the opposite of statically typed. VBScript and Python > are dynamically typed, because they figure out what type a variable is > when you first assign it a value. > > strongly typed language: A language in which types are always enforced. > Java and Python are strongly typed. If you have an integer, you can't > treat it like a string without explicitly converting it. > > weakly typed language: A language in which types may be ignored; the > opposite of strongly typed. VBScript is weakly typed. In VBScript, you > can concatenate the string '12' and the integer 3 to get the string > '123', then treat that as the integer 123, all without any explicit > conversion.
I have always considered this argument rather weak. It is true, we Pythonista we are in a better position that Perl and VBScript users, but still how strong is "strong" typing really? When I can never know the types accepted by a function at compile time? When I can change the class of an object at runtime? Dynamic typing has its advantages, but calling it "strong" is ridicolous for people coming from a background in ML or Haskell. The definitions change according to the circles you frequent, so there will be always confusions on the terminology, unfortunately. -- http://mail.python.org/mailman/listinfo/python-list