Chances are if you have been in web development for any amount of time you have done some work with PHP and maybe it was a great experience like it was for me, or perhaps it was hours and hours of digging through WordPress code to figure out why a plugin wasn’t working. [...] A friend from U of W was giving me a hand setting up the catalog and introduced me to PHP. He was able to build the whole catalog, at least a basic first version, in one afternoon. You can imagine I was pretty excited about something that I thought was going to be weeks of cutting and pasting being done in a few short lines of PHP code. From then I was hooked.

He looks at a brief history of PHP, from its beginnings as a set of simple scripts by Rasmus Lerdorf out to the current push and support of the language by big companies like Facebook. Despite all of this, he points out that PHP "went wrong" somewhere along the way thanks to things like bad tutorials and practices. He talks about the GoPHP5 initiative and some of the signs of improvement in PHP: frameworks, Composer, the FIG and the "PHP renaissance." He looks into the future and sees only improvement thanks to better tutorial content (on various sites) and the increased amount of cooperation between developers wanting to make the language better.

On the PHPClasses.org site today there's a new blog post with four reasons "why all PHP frameworks suck" based on some recent comments from PHP's creator Rasmus Lerdorf.

Rasmus Lerdorf, the PHP creator, was invited to give a talk in PHP Frameworks Day conference. He talked mostly about the latest PHP developments, but for me the most interesting part was the question and answers section. Among other things, somebody asked Rasmus about his opinion on the PHP frameworks. That was as straight question about his opinion, so Rasmus gave a straight answer (near 31m 47s): "They (PHP frameworks) All suck!"

Some follow up was given to his comment with the four main points:

Frameworks Execute The Same Code Repeatedly Without Need

Frameworks Require Too Many Interdependent Classes

[They provide] Needlessly Complicated Solutions

Duplicating the Web Server Functionality

A summary is provided for each of these comments and some of the other questions Rasmus answered are also in the post including the dropping of APC over Zend Opcode, compiling PHP to binary and unicode. The post also includes the embedded video of Rasmus' full talk.

Laura Thompson has a quick post to her blog explaining one simple fact that all developers (or really anyone even loosely related to computing systems) should remember - all systems suck.

I’ve been thinking a lot about this idea lately. I’ve spent a lot of years as an engineer and consultant fixing other people’s systems that suck, writing my own systems that suck, and working on legacy systems, that, well, suck. Don’t let anyone fool you. All systems suck, to a greater or lesser extent

She presents her "slightly jaded" points of view about legacy systems, current systems and ones yet to be built nothing that, no matter how impressive and well-planned out they are, they'll still suck (some maybe just a bit less than others).

Here’s the punchline: sucking is like scaling. You just have to keep on top of it, keep fixing and refactoring and improving and rewriting as you go. Sometimes you can manage the suck in a linear fashion with bug fixes and refactoring, and sometimes you need a phase change where you re-do parts or all of the system to recover from suckiness.

The PHP community definitely has its choice of frameworks to choose from - CakePHP, Zend Framework, Solar, Symfony - but according to Paul Jones there's some that "suck less".

I don’t mean to put words in her mouth, but I'd prefer to extend Laura's phrasing a bit. I’d argue that "all frameworks from other people suck". The "other people" part is important here. It sucks to have to learn how someone else wants you to work, and that's a big part of what a framework needs from you: to learn how to use it. Learning someone else's code is much less rewarding in the short term than writing your own code.

He suggests that your framework is better because of just that - its yours. You know how it works, the ins and outs of the features and how its been refined down to just what's really needed. He does point out, though, that:

Sturgeon's law says 90% of everything sucks, and the development world is no different. Almost nothing is perfect for every developer: there’s always significant room for valid criticism on any project, and even the best projects are lacking in at least one vital area (and that area is different for each project).