php[architect] logo

Want to check out an issue? Sign up to receive a special offer.

PHP: the teenage years

Posted by on June 14, 2010

For some value of the word “turned,” PHP just turned fifteen. Wow.

I still vaguely remember when I turned fifteen—“rebellious,” “obnoxious” and “bad haircut” are all words that come to mind. But those were also very exciting years, full of hopes, possibilities and the knowledge that, in merely a few years’ time, I would have been able to make the roads a little less safe (in Italy, you have to be eighteen to drive, thankfully).

Milestones are not as important in our industry as they are in our lives—the way I see it, if you work in the computer field and turn to look at back at what has been, someone will have passed you by—but there are some very important lessons that can be learned from the story of PHP.

As a development project, PHP has always been a little rudderless. As a programming language, it is, on the surface, an amorphous and mismatched mass of all sorts of programming paradigms and functions that are sometimes incompatible and in conflict with one another. We have one of the best array libraries in existence—but only because the language constructs that we call arrays are not, technically speaking, arrays at all. It took two major releases to have proper object orientation. And so on, and so forth.

Purists hate PHP because, they claim, it promotes bad programming practices and is, for lack of a more accurate term, a mess. But those of us who have grown to appreciate its strengths know that PHP is like the workbench in your garage: a little messy, but filled with all the tools you may ever need to do any job imaginable. You can’t blame the workbench if you decide to drive a screw into the wall with a hammer.

As it turns fifteen, PHP and its community are like every other teenagers: sometimes lazy, sometimes brilliant, often rebellious and unfocused. The language itself has finally matured to the point where finding new functionality to add is becoming challenging and the real development work has, at least for the moment, shifted to projects that are based on PHP rather than being PHP itself. Frameworks of all complexities and sizes are thriving and occupying an ever-more-important role in our day-to-day development—although those who choose to go “naked” still have all the tools to build their applications without using anything more than what the base language provides.

Going forward, there are some real challenges. The first is going to be preventing the language from stagnating—PHP 6 is languishing to the point where so many people have worked around the issues it solves that it’s going to be difficult to continue working on it in its current state.

The other great challenge is finding a way to deal with the fragmentation that has cemented in the world of PHP frameworks. There is no clear winner in this space—even when you consider “application frameworks” like Drupal and WordPress, there are so many contenders, each with their own large community, that “supporting PHP development” is rapidly becoming a difficult proposition to make. When vendors and users decide to provide solutions for only a subset of the community, we all lose something—even those who gain the immediate benefit, because eventually they will suffer from a weakened and fragmented platform.

Happy fifteen PHP—and many returns.

Marco is the keeper of keys and Chief Garbage Collector at Blue Parabola. He can be found on Twitter as @mtabini.

Responses and Pingbacks

Elizabeth M Smith on
June 14th, 2010 at 11:29 am

Errr – there is no PHP 6 (no seriously)
Now we have TRUNK – with traits and some other shiny new features 😉

Richard Quadling on
June 15th, 2010 at 4:38 am

And they are oh so shiny!!! (Gimmee a release damnit!).


[…] Reinheimer hat an neuen Features für die GUI von XHProf Profiler gearbeitet und stellt sie vor PHP: the teenage years | php|architect Vergangenheit und Zukunft, wo PHP hinsteuern könnte/sollte Yahoo! Query Language (YQL) erklärt […]

[…] PHP : the teenage years : PHP turned 15 this year. A nice post about PHP, its strengths, weaknesses and what are the challenges, what comes next. […]

What’s interesting about PHP’s mismatched conventions and inconsistent behaviour is that it really represents many different programming opinions. The choice to fatally error or return false is left up to the implementor of the library. Developers can pick and choose the features that work well for them, berate the rest, and still continue to work the way they want. PHP’s mess is it’s greatest strength and biggest nightmare.

just dont use frameworks. in java frameworks are a mess. someone seems to create a new one everyweek. in the good old days, people use libraries. all frameworks do is change the essense of a language to make it smell like the guy that created the framework. all you are doing is using someone else solition to an imaginary problem. i have been programming with php for more that 10 years. i created projects from all sizes. not once i needed to use a framework. i do use external libraries. and you know what? anyone can mantain my code. you dont have to know the ins and outs of a framework. i really hope people see the light and dont follow the java path.

I don’t know much about PHP as I am still a learner but whatever I learnt I find it very much easy to code. FOr example I can make websites with Joomla without proper professional knowledge of PHP by just slight modifications to the code which makes the difference.

I must say, php developers can be found from age 15 to age 70

php simply rocks.

Leave a comment

Use the form below to leave a comment: