On 6/6/06, Gennady Bystritsky <Gennady.Bystritsky / quest.com> wrote:
>
>
> > -----Original Message-----
> > From: Pat Maddox [mailto:pergesu / gmail.com]
> > Sent: Monday, June 05, 2006 10:49 PM
> > To: ruby-talk ML
> > Subject: Re: Ruby and the Open-Closed Principle
> >
> > I think Ruby has an important message for the programmer:
> >   "You know what you want/need better than I do."
> >
> > Personally, I'm not not sure that the 20.minutes.ago type of extension
> > is a judicious use of Ruby's power.  It is certainly very convenient
> > though, and so far I haven't seen it get in the way of anything.
> >
> > We write programs, and the language helps us do that.  It shouldn't
> > get in our way.  Features like opening classes exist, in my mind,
> > because at times they are the best solution for a given problem.  It
> > is up to the programmer to use them wisely though.
> >
> > I hate when languages put a condom on my code.
>
> What does it make your code, then? ;-)

The only way I can interpret this is that if I don't like language
restrictions, then I must be writing crappy code.

I've used plenty of languages where the designer built in some
mechanism to keep me from shooting myself in the foot.  That's
retarded though - sometimes we need more flexibility, some extra
power.  The language designer certainly doesn't know what I want to do
better than I do, so why should he place any restrictions on what I
can do?

This is a key difference between Ruby and Java.  Java assumes that
you're mostly stupid and tries to save you from yourself.  Ruby
assumes you're smart and lets you do what you want, for the most part.

Pat