Lists Home |
Date 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.
PITHY WORDS OF WISDOM
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:firstname.lastname@example.org]
> Sent: Wednesday, February 12, 2003 2:33 PM
> To: Dare Obasanjo; email@example.com
> At 13:07 12/02/2003 -0800, Dare Obasanjo wrote:
> >Static Typing - Type of variables must be declared at
> compile time (e.g.
> >Dynamic Typing - Type of variables determined from usage at runtime
> >unrelated types. (e.g.
> >Weak Typing - Variables can be coerced to unrelated types. (e.g. C)
> 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.