Gregory Beaver | 1 Sep 2008 05:37
Favicon

Re: PEAR2 package naming standards (namespace usage)

Joshua Eichorn wrote:
> This is the end of this topic for me, I will be taking people's concerns
> into account as I updated the rfc and make sure it has more examples and
> is clear.
> 
> On to specific concerns:
> Multi-level namespaces lets me type less:
>  If you are going to create an instance more then once then use as is
> always less typing.
>  If you are only going to create a single instance then the full path at
> that point is always less typing.
> 
>  Also if a package has you creating hundreds of instances by hand then
> there is a problem with the package design.
> 
> SVN is a 3rd party program and shouldn't be a concern in the design:
>  SVN is how we are managing code in pear2, and hopefully soon in all of
> PHP.  It and tools with similar rules like git is how the open source
> world manages code.

Correction: Pyrus is how PEAR2 manages its code.  svn/git is secondary.
 This is like saying PEAR1 manages its code with CVS.

I still feel that the new RFC introduces far more complexity than is
either necessary or helpful.  I think we see why the original design of
PEAR1 decided not to go with the same structure in CVS as at installation.

Might I ask what problems have we encountered in PEAR1's naming scheme
that warrant this?  We have yet to have a single conflict of naming that
I can think of, and it is in fact *not* recommended to run code straight
(Continue reading)

Travis Swicegood | 1 Sep 2008 17:34
Gravatar

Re: PEAR2 package naming standards (namespace usage)

Howdy all, Greg;

On Aug 31, 2008, at 10:37 PM, Gregory Beaver wrote:

> Might I ask what problems have we encountered in PEAR1's naming scheme
> that warrant this?

This is warranted by the lack of adoption by anyone outside PEAR and  
in some cases open hostility toward the PEAR naming schema by those  
same people.  Zend Framework and SolarPHP are the only two packages  
outside of PEAR that I know that use the PEAR naming schema.  I have  
recommended the idea in companies where I have worked with developers  
that don't have a PHP background and have met with resistance.  "It's  
too verbose," "It's too hard to explain to new developers," "It's  
overly complex when simple directories work," etc.

There is a complete inversion of the English language in order to  
provide some resemblance to namespaces.  Couple that with the overly  
verbose names with no real sense of what goes where by the neophyte  
programmer and you have a "standard" that will see limited adoption.   
The original PEAR2 naming RFC continues that by doing a s/_/::/g  
throughout the code and calling it a day.

To anyone without a PHP background, our package/class naming system in  
PEAR is a barrier.  Couple that with the fact that they can't be  
tracked directly in any VCS (be it Subversion, Git, etc.) because  
multiple packages have files in the same directory and we believe  
there is ample reason to refactor our existing naming schema to  
something more akin to what you find in the examples of other mature  
languages.
(Continue reading)

Alexey Borzov | 1 Sep 2008 17:59
Picon
Favicon

Re: PEAR2 package naming standards (namespace usage)

Hi,

Travis Swicegood wrote:
> This is warranted by the lack of adoption by anyone outside PEAR and in 
> some cases open hostility toward the PEAR naming schema by those same 
> people.  

"...examples of said hostility can be found here and there". Or can't they?

> Zend Framework and SolarPHP are the only two packages outside 
> of PEAR that I know that use the PEAR naming schema.

"PEAR naming schema was so spectacularly bad that Zend adopted it". Yeah, right. 
  Zend dumb, we smart, we drop schema.

> This naming schema provides a simple blueprint that can be adopted by 
> anyone wishing to package their PHP code without having to invent some 
> sorta of pseudo-categorization schema like PEAR1 while also addressing 
> the concerns of those of us who use tools like Subversion and Git - 
> including their svn:externals and git:submodules features - on a daily 
> basis in their job.

Once again I see the svn:externals handwaving here. Can you please describe a 
real world scenario where svn:externals will be useful for working with PEAR 
packages? Thanks in advance.

>> If a package is re-factored in order to split off classes into
>> subpackages, this would in fact break BC with the new RFC and is
>> therefore forbidden.  Why?  Let's say a user is extending a driver,
>> which used to be in:
(Continue reading)

Paul M Jones | 1 Sep 2008 18:34
Picon
Gravatar

Re: PEAR2 package naming standards (namespace usage)


On Sep 1, 2008, at 10:34 , Travis Swicegood wrote:

> Howdy all, Greg;
>
> On Aug 31, 2008, at 10:37 PM, Gregory Beaver wrote:
>
>> Might I ask what problems have we encountered in PEAR1's naming  
>> scheme
>> that warrant this?
>
>
> This is warranted by the lack of adoption by anyone outside PEAR and  
> in some cases open hostility toward the PEAR naming schema by those  
> same people.  Zend Framework and SolarPHP are the only two packages  
> outside of PEAR that I know that use the PEAR naming schema.

All due respect, Travis, but there are others *I* know about, and I'm  
sure many that are not publicly available that neither of us knows  
about.  E.g., SwiftMailer, HTMLPurifier, and Mike Maberezny's "Mad"  
framework all use the PEAR1 naming convention.

> I have recommended the idea in companies where I have worked with  
> developers that don't have a PHP background and have met with  
> resistance.

Nitpick:  "Meeting with resistance" is the natural response to  
change.  The question is not, "do developers who have not used it  
before like it?" but "is it a good fit for the problems as presented?"

(Continue reading)

Lukas Kahwe Smith | 1 Sep 2008 18:39

Re: PEAR2 package naming standards (namespace usage)


On 01.09.2008, at 18:34, Paul M Jones wrote:

>
> On Sep 1, 2008, at 10:34 , Travis Swicegood wrote:
>
>> Howdy all, Greg;
>>
>> On Aug 31, 2008, at 10:37 PM, Gregory Beaver wrote:
>>
>>> Might I ask what problems have we encountered in PEAR1's naming  
>>> scheme
>>> that warrant this?
>>
>>
>> This is warranted by the lack of adoption by anyone outside PEAR  
>> and in some cases open hostility toward the PEAR naming schema by  
>> those same people.  Zend Framework and SolarPHP are the only two  
>> packages outside of PEAR that I know that use the PEAR naming schema.
>
> All due respect, Travis, but there are others *I* know about, and  
> I'm sure many that are not publicly available that neither of us  
> knows about.  E.g., SwiftMailer, HTMLPurifier, and Mike Maberezny's  
> "Mad" framework all use the PEAR1 naming convention.

You can add Doctrine to this list.

regards,
Lukas Kahwe Smith
mls <at> pooteeweet.org
(Continue reading)

Paul M Jones | 1 Sep 2008 18:41
Picon
Gravatar

Re: PEAR2 package naming standards (namespace usage)

On Sep 1, 2008, at 10:59 , Alexey Borzov wrote:

>> This is warranted by the lack of adoption by anyone outside PEAR  
>> and in some cases open hostility toward the PEAR naming schema by  
>> those same people.
>
> "...examples of said hostility can be found here and there". Or  
> can't they?

Symfony, Cake, CodeIgniter, the whole of PHPClasses, etc.

>> Zend Framework and SolarPHP are the only two packages outside of  
>> PEAR that I know that use the PEAR naming schema.
>
> "PEAR naming schema was so spectacularly bad that Zend adopted it".  
> Yeah, right.  Zend dumb, we smart, we drop schema.

In a point of fairness, ZF's adoption of the PEAR naming schema was  
the work of months of internal argument and bickering.  I think they  
did the right thing, but it was not an easy sell.  (What the original  
architects wanted was far less maintainable.)

>> This naming schema provides a simple blueprint that can be adopted  
>> by anyone wishing to package their PHP code without having to  
>> invent some sorta of pseudo-categorization schema like PEAR1 while  
>> also addressing the concerns of those of us who use tools like  
>> Subversion and Git - including their svn:externals and  
>> git:submodules features - on a daily basis in their job.
>
> Once again I see the svn:externals handwaving here. Can you please  
(Continue reading)

Paul M Jones | 1 Sep 2008 18:42
Picon
Gravatar

Re: PEAR2 package naming standards (namespace usage)


On Sep 1, 2008, at 11:39 , Lukas Kahwe Smith wrote:

>
> On 01.09.2008, at 18:34, Paul M Jones wrote:
>
>>
>> On Sep 1, 2008, at 10:34 , Travis Swicegood wrote:
>>
>>> Howdy all, Greg;
>>>
>>> On Aug 31, 2008, at 10:37 PM, Gregory Beaver wrote:
>>>
>>>> Might I ask what problems have we encountered in PEAR1's naming  
>>>> scheme
>>>> that warrant this?
>>>
>>>
>>> This is warranted by the lack of adoption by anyone outside PEAR  
>>> and in some cases open hostility toward the PEAR naming schema by  
>>> those same people.  Zend Framework and SolarPHP are the only two  
>>> packages outside of PEAR that I know that use the PEAR naming  
>>> schema.
>>
>> All due respect, Travis, but there are others *I* know about, and  
>> I'm sure many that are not publicly available that neither of us  
>> knows about.  E.g., SwiftMailer, HTMLPurifier, and Mike Maberezny's  
>> "Mad" framework all use the PEAR1 naming convention.
>
>
(Continue reading)

Joe Stump | 1 Sep 2008 18:49
Gravatar

Re: PEAR2 package naming standards (namespace usage)


On Sep 1, 2008, at 9:42 AM, Paul M Jones wrote:

> Propel, Phing, Creole ... I think those follow the PEAR1 class-to- 
> file naming convention as well.

I think Travis's point (and mine as well since Travis and I chatted at  
length about this) is that we shouldn't be so narrowly focused on the  
past when it comes to PEAR2. PHP 5.3+ has a lot of goodies that we  
could have only dreamed about when PEAR1's conventions were largely  
set in stone. With that backdrop I think it's perfectly reasonable to  
rethink everything and anything.

I don't think the focus with regards to PEAR2 should be, "Well, this  
is how we did it in PEAR1."

I haven't read through all of this thread yet, but wanted to chime in  
with this point before I dove in headfirst. I'm sure there are fine  
technical points on both sides of the arguments as I highly respect  
all of the developers involved, but I wanted to make this point before  
I donned the flame retardant suit. :)

Regards,

--Joe

--

-- 
PEAR Development Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

(Continue reading)

Paul M Jones | 1 Sep 2008 18:54
Picon
Gravatar

Re: PEAR2 package naming standards (namespace usage)


On Sep 1, 2008, at 11:49 , Joe Stump wrote:

> I don't think the focus with regards to PEAR2 should be, "Well, this  
> is how we did it in PEAR1."

Perfectly fair; I was responding to Travis's response to Greg Beaver ...

>> Might I ask what problems have we encountered in PEAR1's naming  
>> scheme
>> that warrant this?
>
> This is warranted by the lack of adoption by anyone outside PEAR and  
> in some cases open hostility toward the PEAR naming schema by those  
> same people.

... and I found the phrase "lack of adoption" to be inaccurate.

-- 

Paul M. Jones
http://paul-m-jones.com/

--

-- 
PEAR Development Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Joe Stump | 1 Sep 2008 19:18
Gravatar

Re: PEAR2 package naming standards (namespace usage)


On Sep 1, 2008, at 9:54 AM, Paul M Jones wrote:

>>> Might I ask what problems have we encountered in PEAR1's naming  
>>> scheme
>>> that warrant this?
>>
>> This is warranted by the lack of adoption by anyone outside PEAR  
>> and in some cases open hostility toward the PEAR naming schema by  
>> those same people.
>
> ... and I found the phrase "lack of adoption" to be inaccurate.

I guess that's somewhat relative. When you compare PEAR's adoptions  
compared to, say Guido's PEP for Python, I'd say there's a lack of  
adoption. I don't think Travis meant to imply nobody was using PEAR1's  
conventions, but compared to generally accepted standards in other  
languages I'd say it's lacking.

But, yes, PEAR1 is used by plenty of people (including all of my code  
and Digg's code). :)

--Joe

--

-- 
PEAR Development Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Gmane