From: gabriele renzi Date: 2005-04-24T18:39:32+09:00 Subject: Re: [ANN] Article: Seeing Metaclasses Clearly Mathieu Bouchard ha scritto: > > On Thu, 21 Apr 2005, ts wrote: > >> * a class is a module which can use inheritance > > > Module#include qualifies as inheritance, no matter how one may try to > hide it under a carpet. A dog with a leg missing is still a dog. It > doesn't matter how much the Java religion asserts that multiple > inheritance is bad. We merely have to assert that multiple inheritance > is good, instead of playing word games like what I've consistently heard > in the Ruby community in my five years of hanging around. The attempt to > attract Java programmers to Ruby shouldn't have been done by > compromising the simplicity of Ruby; instead it should have been done by > cult deprogramming. > I disagree, thinking that mixins and multiple inheritance are not the same thing, and should not be pointed as such. > The defining qualities of a Ruby class may be that: > > 1. a Ruby class is a direct-subclass-of a Ruby class using the "<" > notation (except the Object class). > > 2. the Object class just happens to be the place where .new() is > defined; and this is no matter how many classes use undef_method(:new) > to forbid instantiation. Is'nt it Class#new ?