Python was designed (was Re: Multi-threading in Python vs Java)
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Thu Oct 17 23:14:09 EDT 2013
On Wed, 16 Oct 2013 23:49:02 -0700, Peter Cacioppi wrote:
> Even Python, which isn't strongly typed
I see that in a later message you have stepped away from that
misconception, but I think it is well worth reading this essay:
https://cdsmith.wordpress.com/2011/01/09/an-old-article-i-wrote/
previously known as "What To Know Before Debating Type Systems".
I think the author goes a little too far to claim that "strong" and
"weak" are meaningless terms when it comes to type systems. I think it is
quite reasonable to accept that there is no hard and fast line dividing
"strongly" and "weakly" typed languages, without concluding that the
terms are meaningless. I think it is reasonable to say that Haskell has a
very strong type system, since it will (almost?) never allow any
operation on an unexpected type, or automatically convert one type to
another. Pascal is a little weaker, since it will automatically convert
numeric types but nothing else. Perl and PHP are a lot weaker, since they
will convert strings to numbers and vice versa. If you want to draw the
line between "strong" and "weak" so that Pascal is on one side and Perl
on the other, that seems reasonable to me.
One thing he missed is that there are untyped languages where everything
is the same type. If everything is the same type, that's equivalent to
there being no types at all. Examples include TCL and Hypertalk, where
everything are strings, and Forth, where everything are two-byte words.
But I digress. Apart from those couple of little criticisms, I think it
is a very useful article to read.
--
Steven
More information about the Python-list
mailing list