It's getting really sad to see people come up with really anything to bash on PHP. Can't we just build the most fantastic tools and apps with whatever we want instead of giving off at the tools we use to create them?
I've been using php for almost 10 years and I didn't even know the C-api isn't documented on php.net. But what do I care? It's like saying you won't drive your car to work because there are no usage instructions of the carburator in your car manual. Seriously ... WTF? Let it go.
That is a great analogy. Hope you don't mind if I steal it?
I've noticed this on HN, too many people are bleeding-edge, cutting-edge and seem to forget that best tools for the job are what's in your toolbox. You might not carry around a power miter but you will probably have a small hand-saw.
PHP is a lot of things, but it's also taught at the local community college, and it's quick to pick-up even without collegiate education. That vastly widens my possible talent pool, my rapid development process, or training of my employees.
There is no documentation about the internals of PHP. You are left groping through others source code to do anything useful. For comparison here is Pythons documentation
This has less to do with the language and more to do with the ecosystem. If you ever get to a point where you need to extend the language your out of luck with PHP. Sure for most PHP users who cares they are just using it as a glorified CGI interface ,but if your building a product off it think twice you will reach a point where you will either have to rewrite everything or wade through the undocumented internals of PHP.
Or, you know, rewrite the entire engine so it compiles into native C code or something. The fact that Facebook found that task preferable to hacking on the undocumented internals for performance says just as much.
The guys who write the PHP interpreter are egotistical, not very good at C, and make poor decisions.
And it's a very good reason not to use PHP - the best reason. The poor implementation of namespaces, anonymous functions, and the issues with the OO implementation of PHP core classes (like SoapClient) leaves much to be desired.
This isn't a reason at all ... if I'm trying to sell web software as a product and not as a service, there's a very good chance I'm going to write it in PHP, and neither myself nor my customers will care that PHP internals lack documentation.
I've been using php for almost 10 years and I didn't even know the C-api isn't documented on php.net. But what do I care? It's like saying you won't drive your car to work because there are no usage instructions of the carburator in your car manual. Seriously ... WTF? Let it go.