From: David Alan Black Date: 2001-05-03T08:23:40+09:00 Subject: [ruby-talk:14556] Ruby code: the lost generation Hello -- With apologies to those who wish this list were *either* technical *or* philosophical, I've got a few techno-philosophical comments :-) These comments are prompted by some recent RCR- and RAA-related discussions. We've got two basic mechanisms for publically extending Ruby: language change (RCR) and module/software archive (RAA). That's perfectly fine. I mean, there's room for those mechanisms to evolve, but basically having them is fine. However.... It seems to me that Ruby happens to excel in generating, or inspiring, a type of code which unfortunately falls right into the void between RCR and RAA. I'm thinking of things like the by-products of RCR discussions. Say we talk about Array#insert, or Array#to_h, or whatever. Often, several suggested versions are perfectly respectable and useful in their own way. Of course if the method is going to be part of the language then one version has to prevail. But then the other ideas more or less vanish, at least from the communal radar. The language-change/RCR process inevitably (and understandably) has this winner-take-all aspect to it. On the other side -- as a possible first answer to the question of what to do with miscellaneous good code -- is RAA. But the problem is that RAA lies too far in the other direction. A five-line Array#insert implementation isn't going to end up on RAA. It feels like a lot of Ruby energy gets dissipated, in the absence of some way to harness this realm of code. Of course we can all cut-and-paste good code from ruby-talk -- and maybe it will turn out that any other approach ends up just being a fancy way to achieve more or less that effect. But I do wonder whether there's some more systematic way to leverage the (to me) sometimes startlingly powerful little language enhancements and extensions that get thrown around. Some way for very small, even tiny, libraries and tweakings to travel, almost style-sheet-like, with larger bodies of code. Or something. I know I'm starting to dovetail with other discussions (raa.succ, ideas about dynamic library retrieval, etc.), and indeed all of this flows into the same stream. I just keep coming back to this particular take on it, which I think is potentially quite important. David (who will stop trying to edit this post down because it gets longer every time) -- David Alan Black home: dblack@candle.superlink.net work: blackdav@shu.edu Web: http://pirate.shu.edu/~blackdav