PHP Programming (was JOB: LAMP Artisan)
eswald at brainshell.org
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.
More information about the PLUG