From: David Masover Date: 2008-08-06T23:27:10+09:00 Subject: Re: perl and the culture of libraries On Wednesday 06 August 2008 04:07:48 Shadowfirebird wrote: > I've seen some things posted in this thread (overnight for me) that I > mildly disagree with. So, pardon me while I insert my opinion briefly > without quoting: > > 1) I'm not convinced that packages and applications need to be treated > differently in this discussion. I'll agree with that -- but then, I was the one proposing that applications should be split into packages. Perl (again, in my limited experience) seems to have very few "applications" as such -- rather, everything is structured into some sort of "library", and the "application" itself is a script of less than 100 lines. mod_perl only encourages this. Ruby, on the other hand, makes it very easy to inline things -- you can have a single file with a few thousand lines of code, representing a somewhat complex class hierarchy -- and people do (Rails does, often.) On top of that, barring plugins, Rails tends to encourage putting all functionality into your app, as app-specific, until you can figure out what to plugin-ize -- and almost no one namespaces anything. (Example: It may have been fixed by now, but last time I tried namespace'd models, the default XML output was invalid.) > 2) I'm not convinced that CPAN does documentation any better than > rubyforge/gem does. It probably doesn't. It does, however, encourage documentation. Maybe I'm unusual, but the first thing I do when I want a CPAN module is, I head over to search.cpan.org. This works surprisingly well, and once I do find a module, the very first thing I see is a README, and the very first thing in that README is a "Hello, World" example. Now, other people have talked about the Synopsis. I'm also talking about the "search" functionality. Part of making this obvious is emphasizing how people find out about gems. > This isn't a matter of having standard fields or > of rewriting our packaging system. We actually have to get our hands > dirty and write in ... you know ... English. Hopefully, nothing I've suggested needs a full rewrite... And I agree. The trick is, how do we embarrass people into writing that English? We can't force them to, and we can't simply ignore their library (how would they know?) -- my favorite idea so far is to drag them into the cold, harsh light of crowd review, and allow ratings and reviews on Rubyforge.