From: Markus Date: 2004-10-15T02:13:35+09:00 Subject: Eating sandwiches in the park If I decide to lunch in the park, taking my sandwich and bag of assorted goodies to the shade of a likely tree, I may not, even in this idyllic environment, find everything to my liking. I could, of course, suffer silently. Or I could decide to change what fails to suit. Now most everyone would agree that if my complaint were with the placement of the trees, or the season, or the reasonable conduct of others in the park, the proper choice would be to suffer them silently. Digging up my chosen tree to replant closer to the creek would, by almost everyone's standards, by inappropriate. But by the same token, hardly anyone would claim that I ought not add the condiments of my choice to the sandwich I'm about to chew. Be they pickled hot peppers or strange sauces, the choice is, and should be, mine, and very few reasonable people would dispute that. The difference, it seems to me, is that redecorating the park may well affect--for better or worse--the enjoyment others take in it, while decorating the sandwich affects only me. Thus I can undertake the later on my own authority, but ought not undertake the former without consulting everyone. The reason for my bringing this up, if it isn't already apparent, is that I have noticed a recurring theme on this list: some people seem to assume that a ruby program's extending/modifying of ruby's core classes is more akin to mucking with the park than to modifying the sandwich. Note that I say "seem to assume" because I am frankly puzzled by their position and do not claim to fully understand it. At first I thought they were acting as if one pragmatic picnicking programmer putting pickled peppers on his or her sandwich was going to ruin the park for everyone. This seemed unreasonable in the extreme. What business is it of theirs if some people take advantage of a feature of the language they do not care to use? Even if they share an installation of ruby with the people who prefer peppers, the effects, there will be NO EFFECT visible to them and thus no harm. I subsequently came to suspect that they were perhaps being more reasonable than that, but acting on the basis of an assumption that I do no share: that the park was a better analogy than the sandwich, and that any "local" modifications to the core classes must perforce affect everyone. As I enumerated elsewhere (when I first formed this impression) changes (especially extensions) to the core classes can by made quite local, though the basic fact that they are limited to the program in which they occur seems to me to handle most of the objections. A third possibility is that they are aware that the pickled peppers only affect the sandwich they are put on, but they still don't want the other guy to use them because they might someday want to eat the other guys sandwich. This is kind of a stretch, since no one is forcing them to eat someone else's sandwich, and they are free to reject any that they don't like the taste of. But in some ways this theory best fits the data. A fourth possibility is that their objections are more akin to moralizing than to personal objections. It isn't that they believe they have any reason to object, but still, "it isn't right" and thus "people shouldn't do such things". None of these are clearly the right way to understand the situation, so I ask: Why the rabid objection to people putting broccoli on their sandwiches if they like it? -- Markus