Jeff has buried the lead.

"The best way to fix the PHP problem at this point is to make the alternatives so outstanding that the choice of the better hammer becomes obvious."

That's a terrific point. Alas, it is at the bottom of what is basically another of the "PHP sucks" posts, of which he says we already have too many. And now this comment thread is hip-deep in "Shut up, PHP works fine" posts.

I'm self-taught on Python, and I love it, but as I've moved freelance I've had to learn PHP, and I . . . don't love it. It is what many of my clients use, for reasons that seem good to them, so there you go. I don' enjoy learning it and using it the way I enjoy Python, but as a professional that's Just Too Damn Bad. So I'm kind of with the people irritated by the PHP bitching.

But I wish that Python had those characteristics that make PHP ubiquitous. I'm too new to really state what these are, and I imagine there are some good design reasons for avoiding some of those patterns. But anyone preferring that something like Python or Ruby should see wider adoption has to consider the aspects of PHP that have supported its prevalence, and compete on those aspects.

I am going to guess that Jeff felt the need to critique PHP because he thought there must be some justification for duplicating those functionalities of PHP. I think the community is at a consensus that there isn't, and shouldn't / couldn't be, One True Language, and that it's okay to choose the proper tool for a particular job. And if that's the case, why would it make sense to revise Python or Ruby to duplicate stuff that's already done well by PHP? Why insist that any one language do everything? The best argument would be that PHP gets a lot right, but couples that to a lot it gets wrong. And whether or not that is so drives the question of whether some other language should trouble itself to duplicate the stuff PHP gets right.

It might be enough to say that some people / many people don't like PHP very much and wish that other tools were more prevalent. Among such people, the questions then are: 1) are we just being jerks, is there really that much to be gained by getting away from PHP? and 2) how do other languages have to change (technically, the installed base / trained developer population arguments are beyond this discussion) to compete? And I think the two questions are related. If it isn't hard to make Python as deployable as PHP, then we needn't gain much to make it worthwhile. But if those changes are hard, or they somehow introduce into Python anti-patterns of some kind, or shift the community focus in some negative way, then we would have to see much larger gains to make the shift worthwhile.

I hope Jeff reviews the reaction to this and responds with another post, one that explores why PHP is so frequently adopted. (Again, it's best to put to one side the issues of widespread developer knowledge and default configuration in support of it, if a better alternative is built those things will move.) And, what are the challenges of adapting Python / Ruby / Perl to competing on those technical aspects? And what are the technical / community risks of making those adaptations? At that point I think he's moving the discussion in a much more constructive direction.