Disclaimer: I didn’t attend Theo’s talk, so the only information that I got was from the blog entries and slides. I realize that this short presentation was humorous, but it still brings up some points that have been nagging at the back of my head for a while now.
The comment in question is part of the Six Reasons PHP Sucks lightning talk:
PEAR
Allows PHP to exposé what are perhaps the
worst most dysfunctional and retarded code…
in an easily downloadable/installable form.
These kind of statements are nothing new. Regardless of the group of developers who work on developing and improving PEAR, the community project continues to be the object of contempt by people who prefer to write the project as something “that sucks” rather than making any contributions to bringing the project up to whatever their standard of “not sucking” is.
The core of the issue, I believe, is that people simply do not understand PEAR. To address this, I’ve written an article which will be released in the September edition of the PHP Architect magazine which aims to give better understanding of the project as well as the community infrastructure.
I would like to dedicate this blog entry to people who think that PEAR does suck, and open up the discussion to what it is exactly that sucks. PEAR has issues, but I truly believe that most of the trash talking that is done is mainly due to the ignorance. So please, if you have issues, whether technical or package specific feel free to vent here.
I’ll start the fun.
Issue: PEAR is PHP4
Resolution: All PEAR packages work in PHP5 without E_STRICT. To maintain backwards compatibility there is nothing that stable packages can do about this. However all packages moving forward will be required to run under E_STRICT PHP5.
Issue: PHP Releases were delayed or screwed up by the bundled PEAR release.
Resolution: This was fixed with PHAR archives.
Issue: The PEAR community is slow and bureaucratic
Resolution: Create your own PEAR repository
Issue: PEAR (more specifically the Date class) hinders PHP’s ability to use the class names it wants in future versions
Resolution: This is a problem. However, the popularity of the PEAR::Date class is more of a symtopm of the lack of PHP namespaces. PEAR is working to resolve this, but a simple change of the Date class name won’t help anything.