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/