Steve Dekorte wrote:
You really don't have to "throw away" anything. From a "class" consumer's point of view, there's no difference between a class and a proto with the clone method renamed "new".
I think in practice you will have to remember at least that there's protos and protos that act like classes.
You have (I mean Steve D.), in the Objective-C case, been advocating similar changes, and in fact some implementations of Objective-C have been changing somewhat to arrange methods not to be grouped in classes, and changing the way instances are created.
Was is it in the end worth it? Did we win anything by adding methods that have "new" as special case?
In my opinion, no. I just stick with how it originally was (in my implementation of Objective-C) as in Stepstone ICpak.
I like the way it's class based, and in fact, for extensions, I use Squeak as *reference* implementation.
That doesn't mean that I don't sometimes design a class with the prototype/clone paradigm for creating new instances, but it is not because something _sometimes_ is convenient and a good idea, that you have to make a *global* transformation to use it "everywhere".
squeak-dev@lists.squeakfoundation.org