Trans wrote:
> Like to know others general opinions on having a comprehensive library
> vs. independent libraries.
> 
> In my quest to make Facets' functionality available in some smaller
> parts, I am left with hard choice. I think of it as the DHH vs. WHY
> style question, b/c these two well known developers most clearly
> reflect the approaches in their work. For DHH (ie. Rails) we have a
> number of libs with closely labeled packages: ActionPack,
> ActionMailer, ActiveSupport, ActiveRecord, etc. While _why's libs all
> have highly independent packaging with clever names: Markaby, Hpricot,
> Syck, etc. Now, I realize that different circumstances have certainly
> led to this, eg. Rails is meant as a single comprehensive web-
> framework, while Why's packages are more unique and reflect his
> exceptional creatively, but either could have taken the other approach
> if they so wished. And in my case (and surely some other large
> projects as well), the distinction is not as straight forward.
> 
> So my question is, which is preferable? What criteria should one base
> this decision on?
> 
> To clarify here is my specific scenario. I've narrowed it down, more-
> or-less, to these Whyish vs. DHHish possibilities:
> 
>   Aces        Facets/CORE
>   Jacks       Facets/BASE
>   Tapestry    Facets/AOP
>   Comrade     Facets/CLI
>   Fileside    Facets/FS
>   Annote      Facets/ANN
> 
> A couple of the names I'm not 100% sure about yet, but you get the
> idea. I've been thinking about this a long time and haven't been able
> to decide what direction to take for future development. It's most
> significant impact, I suppose, is to the require namespaces ('facets/
> aop/' vs. 'tapestry/' for example). The only other solid difference I
> have found between them is that some libs don't mesh well with the DHH
> style so those need to be completely separate anyway (for instance, my
> modified redistribution of HTTPAccess2).
> 
> Thanks for any insights,
> T.
> 

What about putting your colorful names inside of generic namespaces?

   aop/tapestry
   cli/comrade
   file/fileside
   text/annote  (?)

This scheme retains distinctiveness, but also communicates the general 
purpose of a library: when we see "require 'cli/comrade'" at least we 
know it has something to do with command line processing, and not 
proletarian uprising. Or, if you really want the facets brand: 
"cli/comrade-facet".

But these longer names hardly roll of the tongue...

-- 
       vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407