Hal Fulton wrote:
I've noted that ruby developers seem to prefer wrting libraries to
applications 
Quite true. I wonder if there is a (Rubyland) cultural explanation?
It might jut be a practical matter, and maybe a Good Development Practice.
Here's an example: I'm working on an application that, among other things, sends E-mail. I want it to send multi-part/alternative HTML E-mail, so that it looks OK even when the mail reader does not render the HTML part. I also want embedded images.
So, I code something up, it works, but has some odd quirks. I figure that if I release the HTML E-mail part of the code as a stand-alone library, others can use it, find issues, suggest fixes (or, better yet, write the fix for me), suggest interesting use cases/improvements, and so on. Benefits for many people.
Plus, I get pushed to write better unit tests, write docs, manage dependencies, write a less-coupled API for the code. Better design emerges.
Eventually, I'll get my app finished. I'm expecting, though, that a few independent libs should emerge as a side-effect. Ideally, the core business logic should be calling out to assorted libraries, coordinating the overall behavior.
If only for selfish reasons, people working on applications should try to release what libraries emerge from their work, since they open themselves up to code fixes, enhancements, and better overall design.
James