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