From: Piers Harding Date: 2003-01-23T16:16:10+09:00 Subject: Re: Can we attack the 'not enough libraries' thing straight on? OK. Having just been thru the exercise of translating a major Perl module (SAP::Rfc) to Ruby, I noticed a number of things that I found self saying "I wish Ruby had this". Firstly - you cannot ignore the power of CPAN (or equivalently well organised software archives). CPAN (INMHO) is the root of the power of Perl. To put it in Borg terms - it is the collective conciousness of the Perl community, its works/achievements, and standardisation efforts. When developing the module - there was no ONE set of modules that defined/generated the install process, managing the documentation, and enforcing a common set of standards. With Perl - it is a very powerfull thing that a user can download a module (XXX::YYY) and know almost 100% guaranteed that all they have to do is go: perl Makefile.PL && make test && make install; and then go perldoc XXX::YYY, and they are off and racing. CPAN, and the gate-keepers of CPAN are instrumental in ensuring this high standard of consistancy, that is such a winning formula (ok - sure there are some warts, but it is still highly successful). All my Perl modules that are uploaded to CPAN run thru a simple set of checks to ensure that they have a certain set of things defined. There is even a "smokehouse" system where by new modules/versions that are uploaded are built, and checked for consistency (does it have the correct documentation elements README, Changes, MANIFEST, perldoc etc.), and whether they just plain work at all (ie. have a test suite, and whether the test suite runs). As mentioned elsewhere on this thread - the CPAN shell is missing. It is not so much that the shell is missing, it is that it would not be possible to have a successful "CPAN shell" for Ruby, because of the lack of (some may say rigid) standards for publishing modules. The shell works because there is a workable lowest common denominator of standards to work with - as described above. I think that in order to step up to the next level, Ruby will have to address these issues, for the good of the Ruby community - without it - how would an archive of many thousands of contributions thrive, without creating needless duplication of effort, and keeping the barrier to entry for new commers as low as possible? Cheers. On Thu, Jan 23, 2003 at 10:36:31AM +0900, dblack@candle.superlink.net wrote: > Hi -- > > We've all heard this: "Ruby is great, but it doesn't have the > equivalent of CPAN." > > I'm not saying it's not true... but I'm getting worried that we're > settling into a culture where Ruby is "that great language that > doesn't have the equivalent of CPAN," and that as that reputation > spreads, it's going to be harder to shake it off later -- even when > lots more modules have been written. > > So: is there a process by which we can identify *exactly* what all the > missing modules are? And then write them? :-) > > The role of CPAN in all this needs to be kept in perspective. There's > no obligation on [the] Ruby[ community]'s part to duplicate CPAN > module by module. In fact, it's quite interesting to look at other > archives, such as . > > Also, I would advocate not getting embroiled in issues of naming, > specifically hierarchical module naming (text/soundex, > algorithms/sort/qsort, etc.). The main thing is for software to come > into existence, and for its availability to be publicized. If we try > to work out in advance questions like who gets to write the > authoritative x/y/z module, etc., the chances are fairly good that > nothing will ever get done. > > So, all you almost-satisfied Ruby programmers, what's missing? :-) > > > David > > -- > David Alan Black > home: dblack@candle.superlink.net > work: blackdav@shu.edu > Web: http://pirate.shu.edu/~blackdav >