And as I said before, it's a loosely typed procedural language, so don't try to compare it to a functional one. Within that type of language, what's bad about PHP?
And as I said before, it's a loosely typed procedural language, so don't try to compare it to a functional one. Within that type of language, what's bad about PHP?
The usual technique for evaluating something is to compare it to its competitors, and some of those are functional!
One of the bad things about PHP is that it lacks the higher-order capabilities of most functional languages. It's also inconsistent, easy to write slow code in, makes it easy to introduce massive vulnerabilities, and ugly.
It's 2009. Nobody should be using PHP any more.
And what's ugly about PHP? It looks almost exactly like C.
It is inconsistent (sometimes), but it's not "easy to write slow code in", there is nothing in PHP that makes slow code more or less likely.
It's 2009. Everyone IS using PHP, and almost no one uses functional languages. Oh they get a lot of press, but few deployments.
I'm really tired of these illogical attacks on PHP. No one has ever told me a problem in PHP compared to other procedural languages except that 0 == "" is confusing.
It's always "but everyone knows it's bad". Sure go along with peer pressure if you like, but I prefer to look at reality.
Really? I use the functional capabilities of Python and JavaScript all the time when I use those languages.
And 0 == "" isn't really confusing. You want confusing?
array(0 => false, 1 => true) == array(false => "0", 1.9 => " 0")
The real problem with PHP is there's no simple way to stop it from guessing what you might have wanted when it's utterly wrong.There are so many languages that use a more elegant syntax, reducing the time (and pain) it takes to prevent and find errors, and add functionality.
Given that there can be both well and badly written PHP, other good language choices in general have a consistent and/or clear choice as it comes to syntax (and less keywords to memorize).
Some choices of dynamic, loosely typed languages are:
Ruby, while perl-inspired provides some very pleasant syntax.
While Python is less pretty, there is generally one good way of doing things. Python code is also often consistent across developers, even if its at a mostly superficial level.
PHP is probably more pleasant to work with than ASP/VBScript, but in 2009, with other choices, if you don't have to use PHP and don't mind trying something new, why don't you?