There are many reasons why PHP is a shit programming language, many of which
are discussed at length in this article:
http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
But the main thing that bugs me is how inelegant it is. You can get things
done with it sure, and you can do good work in almost any language, but that
doesn't mean other languages aren't inherently nicer. Take for example my
"usify" script which I use to automatically derive use statements for Symfony2
classes. This is the PHP version:
https://github.com/m4rkw/env/blob/master/bin/usify.bak">https://github.com/m4rkw/env/blob/master/bin/usify.bak
And here is the ruby rewrite:
https://github.com/m4rkw/env/blob/master/bin/usify
I haven't even refactored it to really take advantage of ruby's features yet
and it's still 76 lines shorter after a straight rewrite, and the code is much
cleaner, easier to read and more expressive. PHP just feels like you're
constantly kicking a dead whale along a beach.
It seems that the old adage holds true - "If you could reason with PHP
developers there wouldn't BE any PHP developers."