"But Smalltalk's mechanism suffers from a serious drawback: Initialization is not enforced. new creates objects but does not initialize them... A second drawback with both Smalltalk and Ruby is that initialize, being an ordinary method, does not chain: You must remember to begin your initialize methods with a call to the superclass's initialize method."Hey, but this just plain, old message sending, as with any object. It just happens that that "object" is a class. That's the advantage, and the tradeoff.
So, in general, inheritance is not as good as composition. But why is *this* message sequence worse than any other?
Do objects have too much freedom?