PHP Programming (was JOB: LAMP Artisan)

Eric Wald eswald at
Fri Mar 7 11:22:54 MST 2014

On Thu, Mar 6, Levi Pearson wrote:
> I think you're making a false equivalence here.  Just because all
> software has bugs doesn't mean that the number and severity of the
> bugs is the same between languages.  Furthermore, the main selling
> point of PHP seems to be that it's *easy*, but in fact that's a huge
> lie made more treacherous by the fact that it makes *bad* programs
> easy, but only starts to become reasonable when you are taught to
> ignore all the tantalizing "easy" bits and follow a discipline that
> runs counter to the "path of least resistance" in the language.  By
> the time you've been redirected to the more modern bits of PHP and
> learned all the things you must avoid and the various gotchas and the
> disciplines that provide some semblance of sanity, you might as well
> have started with a reasonable language, something like Python
> perhaps, to begin with.

It occurs to me that this cuts to the heart of PHP.  Its basic design
takes people who have just been messing with HTML, and lets them do a
bit more.  Some of them then progress to the point where they either
become or hire real programmers.

Most of the time, they don't really mean to start a web application,
unless they already happen to know PHP from some other experience.
By the time they get to the point where a more reasonable language would
be appropriate, they're often entrenched.

Consider also that until PHP, the canonical language for web scripting
was Perl.  As much as PHP has its warts, I still find it much easier to
maintain.  How much has that transition done to make the web more
interactive?  Would my jobs have existed without that exposure?

> Static analysis tools are great, as long as they're actually used.
> How many PHP programmers on this list use static analysis tools to
> check their PHP code?

I've tried, but PHP's inclusion semantics got in the way.  They're
probably better on a smallish set of scripts than on something that uses
a framework.  Sadly, the framework users are more likely to use a tool.

- Eric

More information about the PLUG mailing list