----- Original Message ----

> From: James Laver <james.la...@gmail.com>

> That's because python is strongly typed (though not statically typed
> -- it's a dynamic language).

No offense, but "strongly typed" doesn't have a huge amount of meaning, though 
statically typed does.  I highly recommend:

  http://www.pphsg.org/cdsmith/types.html

That's a great overview of the basics of type systems.

The problem with "strongly" and "weakly" typed is that different people define 
them differently and they don't have much meaning in type systems.  It's static 
typing and dynamic typing which is important.

I *think* what you're describing as "strongly typed" is "a variable can hold 
different types, but that operators change their behavior at runtime:

  #!/usr/bin/env python

  foo = 3
  bar = 3
  print foo + bar

  foo = 'bar'
  bar = 'foo'
  print foo + bar

Output:

  6
  barfoo

I think a few people would take exception to this being characterized as 
"strongly typed" :)  (but that's only because they're defining it differently 
than you are).  Many who use the term "strongly typed" would argue that a 
variable also has a type (i.e., both the container and the variable have a 
type) and that you cannot assign data with a different type to it.

Cheers,
Ovid
--
Buy the book         - http://www.oreilly.com/catalog/perlhks/
Tech blog            - http://use.perl.org/~Ovid/journal/
Twitter              - http://twitter.com/OvidPerl
Official Perl 6 Wiki - http://www.perlfoundation.org/perl6

Reply via email to