This is the fourth of five predictions for 2008, expanded from the short form generated on short notice as described here.

Prediction · The short version:

PHP will remain popular but its growth will slow, as people get nervous about its maintainability and security stories.

Ambivalent, that’s me; I totally have a love/hate relationship with PHP.

Yes, ... · It’s enabled huge numbers of people to create decent Web sites without having to learn too much or try too hard; a very good thing. Also, it runs pretty fast. Plus, it’s been used to build some of the most instructive and useful apps out there, like MediaWiki and WordPress.

So I totally think PHP has earned its huge community and thriving ecosystem fair and square; good on it.

... and No · On the other hand, speaking as an actual computer programmer, I really dislike PHP. I find it ugly and un-modular and there’s something about it that encourages people to write horrible code. We’re talking serious maintainability pain.

Also, I observe a certain amount of tension involving the community and Zend. Symptoms may be observed, among other places, at hardened-php.net. I was going to drop in a wry comment about the elusiveness of “The PHP Group” who own all the copyrights and so on, and just now failed to find a pointer to the page which lists them (I know it exists, I’ve seen it), so I guess that’s self-referentially wry enough. And you have to raise your eyebrows over the course of the transition from PHP4 to PHP5.

Finally, some recent hands-on experience: a big project I’m peripherally involved with needed to include an outward-facing Wiki, and I suggested that MediaWiki was damn good stuff. They put in quite a bit of work and failed to get MW to integrate with the rest of the system. Yes, it’s a good wiki, but it shouldn’t have been that hard to make it play nice with others, and I got the impression that the PHP-ness of it was a big part of the problem.

I Could Be Wrong · At the 2006 Zend conference, Andi or Zeev (I forget which) took a question about Rails and said “Ruby is appropriate for computer-science-loving people who have a puristic attitude.” Maybe that’s all there is to it.

Under My Sun Hat · I think we need to do a much better job of supporting PHP natively in Solaris and NetBeans and so on up and down the stack. But at the same time, I can’t honestly encourage people to use it for building anything new.

And I think I’m far from alone in that impression.



Contributions

Comment feed for ongoing:Comments feed

From: Sam Ruby (Jan 04 2008, at 16:11)

http://www.php.net/credits.php

[link]

From: stand (Jan 04 2008, at 16:55)

"I find it ugly and un-modular and there’s something about it that encourages people to write horrible code. We’re talking serious maintainability pain."

Hmmm...I seem to recall a lot of people saying the same thing about some other language...what was it now?...

[search, search, search, view source]

...oh yeah, here it is, right under my nose, so to speak.

"Generated from XML source code using Perl, Expat, Emacs, Mysql, Ruby, Java, and ImageMagick. Industrial-strength technology, baby."

[hint, it also starts with P]

[link]

From: jim winstead (Jan 04 2008, at 17:08)

http://us2.php.net/credits.php

first box.

only four of those people are still active in the php community (to the best of my knowledge -- i am no longer active in the php community).

[link]

From: Patrick Mueller (Jan 04 2008, at 18:14)

That's pretty much the way I feel. Ugly language, but so easy to use ... hate to love it, and love to hate it.

Also check out fellow RTPer Michael Kimsal's recently blog post "Continued sad state of PHP development".

http://fosterburgess.com/kimsal/?p=390

[link]

From: Mark (Jan 04 2008, at 18:45)

I couldn't agree with this post more. I work at a company that has used PHP to build up a significant amount of functionality. PHP is easy to initially grasp and to build powerful things with - all good qualities if you need something done quickly, like during the initial phases of a startup.

But it is now hell to maintain as the company has grown. Many times I find myself coding around deficiencies in PHP. Unless PHP significanly improves, I see it falling by the wayside for use in major applications. It will probably stay around for a while, since it is so easy to jump into, but I think the general community hatred is starting to build and it is going to be hard for PHP to win back some love, except from die hard fans.

Ruby and Rails aren't helping PHP any either, since they are eating into the space that has traditionally been PHP's place, and Ruby and Rails still have good vibes (maybe this will eventually change too - I don't know, as I am not actively involved with Ruby or Rails).

[link]

From: Ian Bicking (Jan 04 2008, at 18:55)

Mostly an aside, but I've done some integration work with WordPress (with WordPress MU), probably not unlike what a person might try when integrating MediaWiki, and it generally went quite well. That's probably a function of the motivations and skill of the WordPress developers. (Not that the code in WordPress generally impressed me with its overall quality, but still it worked pretty well.) I have always gotten the impression that MediaWiki is a more... organically developed application.

[link]

From: Martin Jansen (Jan 05 2008, at 02:27)

"At the 2006 Zend conference, Andi or Zev [...]"

Just nitpicking, but the guy is called Zeev.

Andrei Zmievski of PHP (sic) fame once said "good code is not exacted by language. Good code is exacted by mental discipline." Couldn't agree more.

[link]

From: Eric (Jan 05 2008, at 08:06)

I'm about to help a startup get off the ground and we're investing about 1.5m in PHP programming mainly because it scales well. Ruby while an elegant language still doesn't have (that we can find) examples of large scale systems (e.g. Facebook, etc. FB is at 15bil a month page views and growing).

Interestingly, MySpace runs on ColdFusion and they are running 67bil page views a month.

[link]

From: Peter Keane (Jan 05 2008, at 10:15)

The main problems with PHP are: 1. lack of namespaces, 2. lack of lexical scoping, 3. some memory leaks here and there that show up in log-running scripts (not a problem in web apps). None of these are deal-breakers by any means.

What PHP has going for it: drop-dead easy deployment. People mistakenly thing that the ability to embed code in html (or vice versa) is what makes PHP so attractive, but that's not it at all. It's ALL about deployment and it simply does not get easier (or more scalable) that PHP. And good programming practices are becoming more easy to come by (see Manning's "PHP in Action").

When the guy who wrote Cocoon (which continues to be wonderful) switches to Wordpress for is own blog, something must be right w/ PHP.

I work in higher ed (UT Austin) and in my shop, it's PHP all the way (no option on that -- I personally would much rather be using Perl). We have LOTS of apps running in production and those coded in a relatively sane manner are pretty simple to maintain.

[link]

From: Chris Adams (Jan 05 2008, at 11:47)

A large part of the problem PHP has is that it's evolved substantially over time and doesn't force you to program in a certain way: you never know if you're getting clean object-oriented code or nasty procedural code - and many of the high profile projects (e.g. MediaWiki, PHPBB, etc.) are pretty bad - giving some people the inaccurate impression that it's impossible to write clean code in PHP and, worse, causing other people to learn from sloppy code.

I'm not sure whether this counts as a point for or against PHP. I like the appeal of a Rails-style install base where everyone starts with common conventions but the flip side is significant overhead and being pushed down a path which may not be appropriate or appealing.

[link]

From: Tim Strehle (Jan 05 2008, at 13:10)

Being a professional PHP developer since 1998, I'm obviously biased...

The majority of PHP applications I've seen the internals of (most of them relatively old) were coded rather ugly, hard to extend or integrate.

With our PHP application we're trying to get right what I call the five faces of a web application (GUI, web service, command line interface, PHP API, data formats - see http://www.strehle.de/tim/weblog/archives/2004/12/16/435 ), and PHP doesn't seem to get in the way.

Our web service interface is being used a lot, the Unix command line interface less frequently (but sysadmins love it), direct SQL access to our data "from the outside" is usually read-only. The PHP API (which our GUI is built on) is almost never used by others.

I don't know other languages well enough to say whether they make building an "integration-friendly" application much easier, and whether their typical applications are better-structured.

[link]

From: Rob... (Jan 05 2008, at 14:48)

The nice thing about PHP is that it gets the job done at the ability level of the developer. Better developers create maintainable PHP applications but new developers actually get an app on the web.

CS geeks of course hate it :)

[link]

author · Dad
colophon · rights
picture of the day
January 04, 2008
· Technology (90 fragments)
· · Web (396 more)

By .

The opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.

I’m on Mastodon!