--8323328-871052297-11354301077488
Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-871052297-1135430107=:27488"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323328-871052297-11354301077488
Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE

Hi --

On Sat, 24 Dec 2005, Chad Perrin wrote:

> On Sat, Dec 24, 2005 at 04:58:52AM +0900, Florian Growrote:
>> dblack / wobblini.net wrote:
>>
>>> In Ruby, I see it differently.  This is where I start having trouble
>>> expressing it.  It's a kind of wish that the gravitational forces be
>>> aligned differently: instead of showing one's strength by pulling
>>> away from the vortex, perhaps the powerful things in the language
>>> could be *used* in productive ways, so that one falls *toward* them,
>>> but without danger.
>>
>> Wrapping unrubyish things behind a rubyish interface so other people can
>> do things in the Ruby way without endangering themself?
>
> I don't think that was the intent of that statement at all.

You're right: it wasn't :-)

I think the best example is still the idea of something along the
lines of Ruby Behaviors or selector namespaces -- that is, a way to
make changes to core Ruby that are block- or file- or
namespace-scoped.  (Ruby Behaviors was my attempt; there have been
others, and selector namespaces is a possible way this kind of thing
might happen in Ruby 2.)  The idea is to harness the power, rather
than look at it as something that only serves the purpose of not being
used.

Basically it seems to me that if a language is designed with this kind
of power, and it's unuseable (or nearly so), that has to mean that the
design doesn't make sense.  I am convinced that Ruby's design makes
sense.  I think it just hasn't been fully explored and exploited.

Mind you, there are several "Behaviors"-like libraries (better written
than Behaviors, in fact), yet I don't personally know of anyone who
uses them.  So maybe the demand for this isn't so great... but I
continue to believe that if there were some way to make limited-scope
core changes built into the language, it *would* be used.  And it
would take a lot of pressure off the RCR process :-)

Anyway, that's an example -- for me probably the best one -- of what I
mean by finding ways to fall *toward* the power of the language,
instead of constantly pushing away from it.


David

-- 
David A. Black
dblack / wobblini.net

"Ruby for Rails", from Manning Publications, coming April 2006!
http://www.manning.com/books/black
--8323328-871052297-11354301077488--
--8323328-871052297-11354301077488--