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