alain fixed in place edit for string morph so we could even rename a protocol simply by double clicking on it. But this is another story Le 30/6/15 15:24, Thierry Goubier a écrit :
2015-06-30 14:05 GMT+02:00 Sean P. DeNigris <sean@clipperadams.com <mailto:sean@clipperadams.com>>:
Thierry Goubier wrote > I consider that subclassing should be used for implementation reuse and > not for subtyping.
That is the GoF position and it makes a lot of sense to me. In fact, I think we Smalltalkers suffer from McLuhan's "people become their tools" syndrome in that, because the browser makes it easy to view inheritance trees, we confuse inheritance with subtyping, creating unnecessary coupling. This also adds to the "Smalltalk has no APIs" problem; when only subclasses are considered subtypes, one never has to define what is and is not the public API; protocols could help here, but have never really been fleshed out for this purpose and are a mess right now due to overloading with extension method duties.
I'll wonder what could be done with Traits about that. Traits may be better at establishing an API.
Tools could do more to hide the extension thing; I still can't understand why, more than two years after I did it, all Pharo users are still writing their * a-long-package-name by hand. I would hate having to explain to Pharo beginners how to make a method an extension.
(by the way, dropping a method on a package is a nice way to get a DNU in Nautilus on Pharo 4...)
Thierry