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