> > > ><offtopic> >When I was working on _The Ruby Way_ and gathering quotations >to intersperse in the material -- and I admit some of these >are kind of hokey -- I was thumbing through the writings of >Confucius. No, seriously. And I found a quote that I almost >used, that reminded me of duck typing: "If an urn does not >have the properties of an urn, can it truly be said to be >an urn?" :) That may be wrong, it's from memory. Intriguing, >though, isn't it? Predates Bishop Berkely, John Locke, >Immanuel Kant by 2000 years. Perhaps even predates Plato. >My history isn't that good. ></offtopic> > >>"If an urn does not >>have the properties of an urn, can it truly be said to be >>an urn?" > A good reading about it =>Metaphysics by Aristotle in last days I was reading it and I was so amazed how it can be applied on programming (OOP)... * (1) *matter*, the substratum which makes possible the new production; * (2) *form*, any actual determination of that substratum; * (3) *potency*, with two significations -- as the immanent power of the seed to develop itself (active potency) and as a capacity of the seed to receive the successive forms of development (passive potency); * (4) *act*, any actual determination of the process of development (in this signification, act is the same as form). *The Four Causes*: The process of generation (and the same can be said of the process of an artificial production) shows the presence of four causes: * an *efficient cause* (the generator or artist); * a *material cause* (the organic matter or the marble); * a *formal cause* (the form of species or the idea of the artist); * a *final cause* (the purpose which directs the entire series of motions until the new organism or statue is produced). ronnie.