On 3/6/07, Daniel DeLorme <dan-ml / dan42.com> wrote: > Trans wrote: > >> In any case, you're talking about metaprogramming operations *on* > >> method names (removing them, using method_missing), which is different > >> from the matter of naming methods because what those methods do is > >> metaprogramming. > > > > Yes, exactly. And I think this is what Daniel really meant too. > > I meant both, really. I named about 5-6 "problems" that each benefited > from this naming scheme. Even though each of them was pretty small, > taken together I think they have weight. When one solution solves 5-6 > problems, that's the smell of good design to me. I don't have a dog in this fight, but I'm interested since it seems to touch on naming and categorization. I must have missed that list of 5-6 problems, a quick re-read of the thread doesn't provide an obvious list, but maybe I'm just not reading it right. But I have to observe, that the problem with categories is that they often appear to be universal, but actually turn out to be personal and/or cultural. There's an interesting cognitive linguistics book called "Women, Fire, and Dangerous Things." by George Lakoff with all kinds of evidence of this. Maybe it's not a direct analogy to this thread, but the problem gets more serious when you try to build hierarchical categories. Lakoff points out that most languages and culture agree about the most basic categories, rocks are rocks, trees are trees, and birds are birds. But when those categories get sorted into hierarchies differences emerge. My interest in this first arose when thinking about the limitations of statically typed class/type hierarchies which force types into a particular factoring. I guess I'm wandering off the topic of this thread, but my reaction to "When one solution solves 5-6 problems, that's the smell of good design to me." is maybe, if those are MY 5-6 problems, and it doesn't interfere with my solving other, possibly more important problems. I'm not sure that this "Swiss army knife" approach to design is an unalloyed good. -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/