3 ms·
Monkey patching has nothing to do with duck typing. Monkey patching is both incredibly powerful and exceedingly dangerous at the same time but, there is nothing
by spooneybarger 16y ago
Monkey patching has nothing to do with duck typing. Monkey patching is both incredibly powerful and exceedingly dangerous at the same time but, there is nothing about monkey patching that says you need duck typing. You do static typing AND have open classes. To pretend that problems related to open classes is somehow connected to duck typing is simply false.
- pbiggar 16y agoI wouldn't say that it has _nothing_ to do with monkey patching. Monkey patching is the ability to update classes members dynamically. Duck typing is the ability to update an object's members dynamically. Since the overall point is to dynamically create a new member of some object, I think the previous poster can be forgiven.
- spooneybarger 16y agoDuck typing isn't the ability to update an object's members dynamically. There is nothing inherent in the meaning of duck typing that says anything about updating. All it says if i ask: walk and talk of it and can walk and talk then as far as i'm concerned, its a duck because that is what a duck was expected to do. duck typing is polymorphism w/o inheritance.
- pbiggar 16y ago> walk and talk of it and can walk and talk then as far as i'm concerned, its a duck because that is what a duck was expected to do. This doesn't even parse. Duck-typing is the idea that an object's type at a particular time is made up of the set of fields and methods it has _at that time_. I suppose that doesn't strictly require updating, but it would be a pretty lame duck with it. Polymorphism w/o inheritance is a fine description. How do you think that can be accomplished without dynamic updating?