On Sun, 28 Jan 2001, Ben Tilly wrote:

> David Alan Black <dblack / candle.superlink.net> wrote:
> >
> >Yes -- I certainly don't dismiss everything he said; it's more that a
> >couple of things caught my attention as being in the category of "OK,
> >now let's see how well Ruby has captured the functionality and flavor
> >of Perl."  Not that I don't expect language comparisons.  But that's
> >not exactly what this is.  It's more like an obstacle people seem to
> >put in their own way, by assuming that Ruby's goal is to shadow Perl.
> >Again, not to pounce on that one writer, but something like: "I'll
> >have delve deeper to see how well they copied the TMTOWTDI philosophy"
> >contains a whole set of presuppositions about Ruby which are going to
> >make the process of *seeing* Ruby (not even understanding it, or
> >liking it, but just perceiving it) much more difficult.
> 
> Well then what is Ruby?
> 
> Is it one easily describable thing?  Is there a clear Ruby
> style that is truly right?
> 
> I doubt that...

I didn't say that there isn't more than one way to do this or that in
Ruby.  (Self-evidently there often is.)  I'm talking more about public
perception and rhetoric than language design and philosophy, at the
moment.

In fact... forget that this case involves TMTOWTDI.  Given *any* Perl
functionality or philosophy/slogan P, to think out loud about "how
well [Matz] copied [P]" suggests (a) that Matz was trying to copy P,
and (b) that one's opinion of Ruby should at least partly be
determined by how good that copy-job was.  That strikes me as a
low-percentage process (even if one comes up with a nicer word than
"copy" :-)

All I'm saying is that I have observed that people get tripped up by
this -- tripped up in the sense of prevented (at least temporarily)
from seeing the things that Ruby can actually do.  

The "#{...}" interpolation mechanism is a good example.  I've seen a
number of people, familiar with Perl, assume that this is strictly the
equivalent of "$var"-style interpolation in Perl.  They then perceive,
incorrectly, Ruby's interpolation mechanism as having "extra"
punctuation characters.  (The slashdot piece we've been talking about
did this, in so many words ["I can see the extra characters getting
annoying"], but I've seen it elsewhere too.)

Once these people realize that #{...} is not (just) for variable
interpolation, they not only stop worrying about the "extra"
characters but actually feel relieved that they don't have to do
"@{[ $x + $y ]}" and such things.  

I'm not taking people to task for lack of sharpness.  (That would come
back to haunt me in short order :-)  Nor is it such a calamity if this
or that person has to work through a layer or two of Perl perception
before seeing Ruby for itself.  (I certainly did.)  Obviously Ruby
occurs at a certain point in history, with a manifestly huge relation
to several antecedents.

In fact, judging from what people said in response to my original
question, it really probably isn't a big deal, from the perspective of
Ruby advocacy, that these misperceptions are played out in public, as
long as people do keep really getting interested in the language and
giving it a more than perfunctory look.  It would be better, I
suppose, if that could happen without the detours, but realistically
that may not be possible.

(Anyone interested in some very interesting and well-stated remarks
about Perl and Ruby should have a look at [ruby-talk:6738] from
Clemens Hintze.)


David

P.S. Congratulations on your 10K-hood!

-- 
David Alan Black
home: dblack / candle.superlink.net
work: blackdav / shu.edu
Web:  http://pirate.shu.edu/~blackdav