RE: [PEAR-DEV] Template Proposal
| From: | Chuck Hagenbuch | Date: | Fri, 09 Nov 2001 19:01:18 +0000 |
| Subject: | RE: [PEAR-DEV] Template Proposal | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-2743@lists.php.net to get a copy of this message | ||
This entire discussion comes down to, essentially, two choices:
a). PEAR == CPAN
b). PEAR == Java standard class libraries
(== conceptually. Yes, we can do stuff better/different/etc. That's not
relevant right now)
For the CPAN case, we forget about style conventions, throw everything in, and
let people make of it what they will. It's a repository. You throw code in
there, and let the good code percolate to the top by virtue of being good and
being used by more people.
For the Java case (or pick another language with a standard class library if
you don't like Java - C's STL, whatever), we have strict coding standards, a
large body of code that follows more or less the same overall design,
consistent code, less (if any) duplication, picky standards on quality, etc.
There are people who want something in between, but:
a). Doing something in between is hard.
b). People still bring up tabs vs. spaces, which was decided... a year ago?
More? If people won't let that rest, they'll never let the decisions on any
compromises in a mid-way solution rest.
Personally, the way to break it out seems to be not to merge them, but to have
two layers: A core set of classes like DB, Log, Mail, etc, that have been
adopted by pretty much everyone and aren't duplicated inside the core. They
have consistent style, strict standards, and are actually kept under reasonable
API control, etc.
Then there's the general repository, which gets the benefit of all of the
infrastructure - installer, whatever - and at least breaks everything out into
its own namespace, but can hold 5 template engines, all the other DB layers,
and anything someone wants to submit. Style is encouraged, but not mandatory,
duplication is asked "is it really different?" but is fine, etc.
Once in a while something gets adopted into the core classes, but they stay
pretty stable and controlled (by the community, not some faceless evil masked
group like some people seem to paint the core developers...).
That's how _I_ think it should work. Admittedly, I skimmed/skipped a lot of
this thread, but hey. :)
-chuck
--
Charles Hagenbuch, <chuck@horde.org>
"What was and what may be, lie, like children whose faces we cannot see, in the
arms of silence. All we ever have is here, now." - Ursula K. Le Guin