[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Eating sandwiches in the park

Markus

10/14/2004 5:14:00 PM


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




29 Answers

Eivind Eklund

10/14/2004 5:30:00 PM

0

On Fri, 15 Oct 2004 02:13:35 +0900, Markus <markus@reality.com> wrote:
> Why the rabid objection to people putting broccoli on their
> sandwiches if they like it?

Because people are putting sandwitches everywhere, and a lot of us are
forced to eat other people's for a variety of reasons.

Many of us are working with a lot of open source code here; we end up
working with code from a lot of other authors, and any feature that
makes that code harder for us to comprehend witll get in the way.

I know at least that's why I'm sceptical: No matter what the feature,
I'm likely to end up having to deal with code that use it.

Eivind.
--
Hazzle free packages for Ruby?
RPA is available from http://www.rubyar...


Brian Wisti

10/14/2004 5:51:00 PM

0


--- Eivind Eklund <eeklund@gmail.com> wrote:

> On Fri, 15 Oct 2004 02:13:35 +0900, Markus <markus@reality.com>
> wrote:
> > Why the rabid objection to people putting broccoli on their
> > sandwiches if they like it?
>
> Because people are putting sandwitches everywhere, and a lot of us
> are
> forced to eat other people's for a variety of reasons.

I don't know about you, but I always check to see what's in my sandwich
before I eat it, especially if some stranger offers it to me out of the
blue, saying "Eat this. I made it special." Once I get a better idea of
what sort of sandwiches a person makes, I might relax a little bit.
It's also likely that this budding preparer of sandwiches will realize
that not everybody likes pickled peppered broccoli on their peanut
butter and jelly sandwiches, and not share the more exotic creations.

If I'm desperately hungry, and there's a sandwich with creamed crab in
peppered peanut sauce, I'll just take that creamed crab off and eat the
part that doesn't make me gag. I will definitely warn all of my friends
that this freak is making sandwiches with peanut butter and antifreeze
simply because he can. My friends will probably avoid the freakish
fabricator of crazed comestibles, leaving him to eat his razor blade
and mouse poop sandwiches by himself.

I like the sandwich analogy. I may have taken the idea into a new and
more nauseating direction, but the analogy works. Code which abuses the
flexibility of the language will not spread very far, simply because
people won't use it. That has been my experience so far over the last
few years, and I don't expect that pattern to change any time soon. If
you see code which has had such abuse inflicted on it, you need to
either fix it or avoid it. You're certainly not forced to eat it.

Kind Regards,

Brian Wisti
http://coolnam...


Eivind Eklund

10/14/2004 6:11:00 PM

0

On Fri, 15 Oct 2004 02:51:07 +0900, Brian Wisti <brianwisti@yahoo.com> wrote:
> I like the sandwich analogy. I may have taken the idea into a new and
> more nauseating direction, but the analogy works. Code which abuses the
> flexibility of the language will not spread very far, simply because
> people won't use it. That has been my experience so far over the last
> few years, and I don't expect that pattern to change any time soon. If
> you see code which has had such abuse inflicted on it, you need to
> either fix it or avoid it. You're certainly not forced to eat it.

I'll just have to say that this does not match my experience. I
regularly end up being forced to use and fix software that has serious
problems because somebody else has made the decisions.

Examples:
- Perl, where the interpreter design and language is just icky, but
I've had to deal with it because there are applications/modules my
employer needs to work
- MySQL, where a migration is too expensive
- The NFS code for FreeBSD, where we had a spaghetti of C macros
making the code almost impossible to deal with, but cleaning it up
would result in divergence from NetBSD/OpenBSD so we had less
bugfixes.
- Donald Becker's ethernet drivers in Linux - the code was fairly
horrible, but they were the only source of some functionality.
- A million lines of C++ code in various styles and for various
projects at a former employer, where I did troubleshooting and ended
up debugging many of the "funny" problems that the people that had
written the code couldn't debug themselves.

If you don't have to deal with other people's bad choices on a daily
basis, you live a sheltered life.

When it comes to dealing with Ruby code: Read my .signature (though we
do some selection, we're also committed to providing packages over
time, so giving the authors enough rope to hang themselves is bad for
us.)

Eivind.
--
Hazzle free packages for Ruby?
RPA is available from http://www.rubyar...


Eivind Eklund

10/14/2004 6:21:00 PM

0

On Thu, 14 Oct 2004 17:29:27 +0000, Eivind Eklund <eeklund@gmail.com> wrote:
> On Fri, 15 Oct 2004 02:13:35 +0900, Markus <markus@reality.com> wrote:
> > Why the rabid objection to people putting broccoli on their
> > sandwiches if they like it?
>
> Because people are putting sandwitches everywhere, and a lot of us are
> forced to eat other people's for a variety of reasons.

I just realized I'd misread the original mail as an anology for the
free-form-operator patch instead of re-opening core classes.

Just for the record: I'm positive to being able to re-open core
classes. I'm still sceptical of free-form operators. And I stand by
my main point (that there are reasons to be sceptical of stuff even if
you can avoid using it directly yourself).

Also, my apologies for the "You must have lived a sheltered life"
comment - that came out much harsher than intended.

Eivind.
--
Hazzle free packages for Ruby?
RPA is available from http://www.rubyar...


Mohammad Khan

10/14/2004 6:25:00 PM

0


On Thu, 2004-10-14 at 13:13, Markus wrote:
> 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
>


If you work for my sandwich franchise, you will have to make it the way
it comply with my company's procedure. Because, our sandwich already
have fame in the market. People don't see what's inside the sandwich
before eat, if it is from my store.

If you want to put broccoli or whatever you want, do it outside my
sandwich shop !


--
Mohammad Khan <mkhan@lextranet.com>
Legal Computer Solutions, Inc.



Brian Wisti

10/14/2004 6:28:00 PM

0


--- Eivind Eklund <eeklund@gmail.com> wrote:
> Examples:
> - Perl, where the interpreter design and language is just icky, but
> I've had to deal with it because there are applications/modules my
> employer needs to work
> - MySQL, where a migration is too expensive
> - The NFS code for FreeBSD, where we had a spaghetti of C macros
> making the code almost impossible to deal with, but cleaning it up
> would result in divergence from NetBSD/OpenBSD so we had less
> bugfixes.
> - Donald Becker's ethernet drivers in Linux - the code was fairly
> horrible, but they were the only source of some functionality.
> - A million lines of C++ code in various styles and for various
> projects at a former employer, where I did troubleshooting and ended
> up debugging many of the "funny" problems that the people that had
> written the code couldn't debug themselves.
>
> If you don't have to deal with other people's bad choices on a daily
> basis, you live a sheltered life.
>

Sorry, I committed an error of omission with my message. I was
specifically talking about my Ruby experiences. The Ruby community has
been a bit more sane than a lot of other coders. Thinking of why_, I'll
need to modify that. The Ruby community may be insane, but so far it's
insane in a manner that fits in very nicely with keeping your fellow
coders happy.

My Perl/SQL/etcetera experiences were bumpy from the first time that I
had to read somebody else's code, and have continued to be on an almost
daily basis. I haven't had that yet with Ruby.

(knock on wood)

Kind Regards,

Brian Wisti
http://coolnam...


Markus

10/14/2004 6:32:00 PM

0

> > Why the rabid objection to people putting broccoli on their
> > sandwiches if they like it?
>
> Because people are putting sandwitches everywhere, and a lot of us are
> forced to eat other people's for a variety of reasons.

But this is exactly the point I don't get. Who is forcing you? Do
they have a gun? If I write something you find distasteful, and even
post it on the web, are you required to use it? Even if millions of
others like it a start to use it, you don't have to if you don't want
to.

> Many of us are working with a lot of open source code here; we end up
> working with code from a lot of other authors, and any feature that
> makes that code harder for us to comprehend witll get in the way.

So don't work with code that you find to hard to deal with. One of
the fundamental tenants of Open Source (at least, as I see it) is that
you are never required to use someone else's code if you don't like it.
Maybe you don't trust it, or them, or think it's bloat, or buggy, or
just don't like their choice of identifiers. Whatever the reason, you
are free to decline to use it if you'd rather not.

-- Markus




Markus

10/14/2004 6:39:00 PM

0

On Thu, 2004-10-14 at 10:51, Brian Wisti wrote:
> --- Eivind Eklund <eeklund@gmail.com> wrote:
>
> > On Fri, 15 Oct 2004 02:13:35 +0900, Markus <markus@reality.com>
> > wrote:
> > > Why the rabid objection to people putting broccoli on their
> > > sandwiches if they like it?
> >
> > Because people are putting sandwitches everywhere, and a lot of us
> > are
> > forced to eat other people's for a variety of reasons.
>
> I don't know about you, but I always check to see what's in my sandwich
> before I eat it, especially if some stranger offers it to me out of the
> blue, saying "Eat this. I made it special." Once I get a better idea of
> what sort of sandwiches a person makes, I might relax a little bit.
> It's also likely that this budding preparer of sandwiches will realize
> that not everybody likes pickled peppered broccoli on their peanut
> butter and jelly sandwiches, and not share the more exotic creations.
>
> If I'm desperately hungry, and there's a sandwich with creamed crab in
> peppered peanut sauce, I'll just take that creamed crab off and eat the
> part that doesn't make me gag. I will definitely warn all of my friends
> that this freak is making sandwiches with peanut butter and antifreeze
> simply because he can. My friends will probably avoid the freakish
> fabricator of crazed comestibles, leaving him to eat his razor blade
> and mouse poop sandwiches by himself.
>
> I like the sandwich analogy. I may have taken the idea into a new and
> more nauseating direction, but the analogy works. Code which abuses the
> flexibility of the language will not spread very far, simply because
> people won't use it. That has been my experience so far over the last
> few years, and I don't expect that pattern to change any time soon. If
> you see code which has had such abuse inflicted on it, you need to
> either fix it or avoid it. You're certainly not forced to eat it.
>
> Kind Regards,
>
> Brian Wisti
> http://coolnam...

Exactly, save one point: it also pays to keep an eye on people who
choose to eat what you find unpalatable. If they die a miserable death,
or even just slink off to kneel in the bushes, you are justified to feel
smug if you wish. But if they prosper and thrive, you may want to see
if you're missing something full of yummy goodness.

I can still remember the transformational moments when I
reluctantly tried (or retried) several of my present favorite foods, and
discovered that they were in fact wonderful. As a child they seemed
inedible, but as I aged my tastes changed.

-- Markus




Markus

10/14/2004 6:43:00 PM

0

On Thu, 2004-10-14 at 11:20, Eivind Eklund wrote:
> Also, my apologies for the "You must have lived a sheltered life"
> comment - that came out much harsher than intended.

No worries. It gave me a brief happy moment of wondering if it
possibly was true.

-- Markus





Eivind Eklund

10/14/2004 6:45:00 PM

0

On Fri, 15 Oct 2004 03:31:52 +0900, Markus <markus@reality.com> wrote:
> > > Why the rabid objection to people putting broccoli on their
> > > sandwiches if they like it?
> >
> > Because people are putting sandwitches everywhere, and a lot of us are
> > forced to eat other people's for a variety of reasons.
>
> But this is exactly the point I don't get. Who is forcing you?

Employers, generally.

> Do they have a gun?

No, they can only deny me food, so it's slower than that....

> If I write something you find distasteful, and even
> post it on the web, are you required to use it? Even if millions of
> others like it a start to use it, you don't have to if you don't want
> to.

I work in contexts where I have to accomplish things, and where I
cannot make all choices on my own. If I had infinite time, enough
food, and wasn't trying to get anything specific done, sure, I'd have
that choice.

Alas, I have to eat, and I'm only getting 86401 (or less) seconds per
day, and I've got stuff I want done. All of this cooperate to force
some of my choices.

Eivind.
--
Hazzle free packages for Ruby?
RPA is available from http://www.rubyar...