Because despite its horrible spots, it does a few things really well.
It's stateless, opcode-compiling allows for a really quick develop-test-debug-fix-deploy cycle.
It's written to serve as a templating language itself, so view layer code is easy to understand, and doesn't require some...