From: "Molitor, Stephen L" Date: 2005-12-23T08:58:38+09:00 Subject: Re: Diff of opinion on dynamic stuff >> Is Python against dynamic stuff? And Ruby for it? Certainly Python can't be against all dynamic stuff. Ain't that dynamic stuff what Eckel and others *like* about Python compared to Java -- 'latent typing', etc.? And can't you make the same sort of arguments against duck/latent typing that the blogger makes against open classes and dynamically generated code? For example: "It's the second generation that's going to be less enthused, that's going to stare in bafflement at these methods that mysteriously accept any type, and trying to figure out what's going on when there's an exception in dynamically typed code." Or you could even complain about operator overloading, which isn't even a dynamic feature: "It's the second generation that's going to be less enthused, that's going to stare in bafflement at these operators that can mysteriously be overridden to do anything, and trying to figure out what's going when there's an exception in an overridden '+' operator." Of course, he could still be correct -- maybe duck typing and operator loading are safe enough, and open classes are too dangerous. But it's still kind of interesting that a Python guy is criticizing Ruby for being *too* dynamic, flexible and open. That's of course the argument of the static typing crowd against dynamic typing. I guess he must hate class-less languages like Self (or even Javascript). Maybe that's the core difference between the Python and Ruby philosophies? Ruby is even more dynamic and 'open'? Ruby isn't Self, but seems closer to the idea that essence of OO is that objects respond to messages. Precisely how you create an object, whether via a closed class, an open class, a Javascript constructor, or whatever is less essential from that point of view. Whereas other languages seem to be much more class-centric. I worked my way through a Python book a few years ago, but I've forgotten most of it. Are classes objects in Python? Steve