Facebook uses a lot of PHP and seems to do fine, just because a language allows you to write horrible code doesn't necessarily mean it can't be used to write good code. PHP obviously has a lot of warts, but I think the bigger problem is that it gives you just enough rope to hang yourself.
I wouldn't be surprised if it happened more than usual with PHP, but in my experience programmers always curse the language/framework/api that they use heavily. You always learn the seams and hit issues with the design if you work with something for long enough.
Yep, It's a phenomenon frequently called "using in anger". The interesting thing about php is you don't have to use it very long before you use it in anger. Most of the time you can tell if someone is well versed in a language if they use it in anger. With PHP all you can tell is they've used it.
Is that was "use in anger" means? I had assumed it came from "fire a shot in anger", meaning serious use rather than practice or ceremony.
It's true that most software makes me either angry or sad, but PHP (where even "==" is wrong after Perl had gotten it right) was a singularly memorable peek into Special Hell.
Nope! I love me some Python, JavaScript, C, and even ActionScrip, Java and Pascal. Blaming the tools is bad form unless you can prove they are bad, which can be done with PHP.
Fair enough. Bad is too broad a term. But I think most developers agree that PHP is inconsistent and lacks type safety. For a long time it lacked namespaces which made for some really silly design patterns. It lacks some neat features too, like lambdas and its support for closures is minimal. The list can go on.
Facebook also uses a very restricted subset of php for a lot of it, if the people I've met from over there are any indication. This may make it generally more useful for them than it may normally be.
I think they have to use that subset so it can be compiled by HipHop down to C code.