On Thu, Mar 6, 2008 at 8:13 AM, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
> On Mar 6, 2008, at 9:06 AM, Chris Uzdavinis wrote:
> > In Ruby, when you extend types, it affects existing objects of that
> > type too. Below, my_object is bound to an object created when X is an
> > "empty" class, and then I add a bar method, and it's immediately
> > available.
> I was afraid it would.
>From my perspective, most languages have, at one time or another, had
some guiding vision or force behind them.
Eiffel has Bertrand Meyer saying "Everything is an object, and be
static about it" and C++ has Bjorned Stroustrop saying "Keep it fast,
keep it generic", Scheme "Programming languages should be designed not
by piling feature ...".
Ruby has Yukihiro Matsumoto saying "It makes sense to me, if you don't
like it, see you later!" hahaha
Consequently there are a lot of really "neat" things you can do in
Ruby, but it is not always obvious to me why you might want to do
those things (I'm excluding the *obvious* ones so give me a break on
those). Mats knows, and if you don't "get it" oh well!