From: Mark Wilson Date: 2003-02-13T12:10:18+09:00 Subject: Re: von Rossum on Strong vs. Weak Typing It is interesting and consistent with Python's design that Guido von Rossum speaks in terms of writing and testing functions and nowhere mentions methods. On the issue of typing (as in type of object) as I understand Ruby: 1. Ruby is strongly-typed, meaning that if an object receives a method that it cannot respond to, it will generate a type error if the method belongs to a built-in class, or a method missing error otherwise. 2. Ruby is dynamically typed, meaning that variables (references to objects) are not typed and type is checked when a method is applied to the object. 3. The future of Ruby will de-emphasize the term type and instead look at whether an object responds to method calls. 4. Also, as I understand the concept of type, at least in the context of Ruby, it is really talking about class. The type of an object being defined by the methods it responds to means that the type is described by the class, because the class includes the collection of methods that can be used on the object. 5. Note that the traditional primitive types (string, array, numeric) are classes in Ruby, and can be extended in a program. I'm also trying to say that with types = classes typing can be stronger than what just providing primitive types provides. Please feel free to correct the above if you think I've gotten it wrong ;-)