OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: [xml-dev] Strong versus (weak|runtime) typing

[ Lists Home | Date Index | Thread Index ]

Yeah, I notice that it was the interviewer who kept on harping about on
Python being weakly typed. However Guido mixes up his comparisons by
comparing strongly typed languages to dynamically typed languages
instead of statically typed language. Statements like the following 

"Guido van Rossum: Those variables don't have types. Runtime typing
works differently, because you can easily make a mistake where you pass
the wrong argument to a method, and you will only find out when that
method is actually called. On the other hand, when you find out, you
find out in a very good way. The interpreted language tells you exactly
this is the type here, that's the type there, and this is where it
happened. If you make a mistake against the type system in C or C++, and
it only happens at runtime, you're in much worse shape. So you can't
simply say strongly typed languages are better than runtime typed
languages or vice versa, because you have a whole tradeoff of different

indicate fundamental confusion between the two. His argument about
runtime errors seem ill considered especially since he uses both a
strongly typed language (C++) and a weakly typed one (C) in his example.
In a weakly typed language like C the error may NEVER be detected until
something catastrophic happens. Secondly comparing strongly typed
languages to dynamically typed ones is particularly ill-considered when
one considers strongly and dynamically typed languages like Smalltalk. 

Computers are unreliable, but humans are even more unreliable. Any
system which depends on human reliability is unreliable.

This posting is provided "AS IS" with no warranties, and confers no

> -----Original Message-----
> From: Sean McGrath [mailto:sean.mcgrath@propylon.com] 
> Sent: Wednesday, February 12, 2003 2:33 PM
> To: Dare Obasanjo; xml-dev@lists.xml.org
> At 13:07 12/02/2003 -0800, Dare Obasanjo wrote:
> >Static Typing - Type of variables must be declared at 
> compile time (e.g.
> >C++)
> >Dynamic Typing - Type of variables determined from usage at runtime 
> >(e.g. JavaScript) Strong Typing - Variables cannot be coerced to 
> >unrelated types. (e.g.
> >Java)
> >Weak Typing -  Variables can be coerced to unrelated types. (e.g. C)
> Python:
>          x = 1
>          y = "Hello"
>          y = y + x
>          TypeError: cannot concatenate 'str' and 'int' objects
> So Python is dynamically typed. i.e. at runtime. Not weakly 
> typed. Just as Guido said and not what you said.
> regards,
> Sean


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS