[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Strong versus (weak|runtime) typing
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 parts." 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 rights. > > > -----Original Message----- > From: Sean McGrath [mailto:sean.mcgrath@p...] > Sent: Wednesday, February 12, 2003 2:33 PM > To: Dare Obasanjo; xml-dev@l... > > 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 > > >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|