Great article on perl and cpan. I was all ready to say “yeah, ruby has
libraries too - maybe not the tens of thousands cpan has, but i can
usually find what i want” until I read this paragraph:
The important thing about Perl is that we have a culture of writing
good libraries. No Perl programmer would write a few lines of code,
post it to a blog, and call it a “library”. Everyone feels obligated
to create a CPAN distribution, with documentation (sometimes a bit on
the minimal side, but not everyone is a writer), a test suite, a
Makefile, etc. I’m not sure why, but this always happens. I think it’s
because there is a strong convention, and tools that make following
the convention easy.
He’s right - there really is nothing in the ruby culture/toolset that
encourages everything shared to be properly shared. Hoe and friends
are a great step forward, but their use doesn’t seem to be widespread
yet. At the very least, an interesting thing to ponder.
Some ideas I had:
- rubyforge should encourage an ecosystem of scripts that works with
it; right now I can’t even find such scripts other than via “gem
search” (I’ve filed a suggestion with rubyforge about this).
- a majority of the projects on rubyforge (mine included, i admit)
have no documentation. on the other hand, the landing page of a cpan
project is the documentation. rubyforge’s default landing page seems
to contain a lot of information that seems more suited to a sidebar.
- perhaps rubygems could support commands like “gem readme”, “gem
changelog”, “gem todo” and “gem examples” to encourage people to fill
in such documentation where appropriate