You are completely missing the point.<p>The first problem is: reasons you've listed are stereotypical rants that young PHP developers say. Reasons #2 #4 #7 #9 are just false. For templating here you are: <a href="http://tornado.readthedocs.org/en/latest/template.html" rel="nofollow">http://tornado.readthedocs.org/en/latest/template.html</a>, the others you could find yourself. Moreover, reasons #3 #6 just don't matter (who cares about quantity of books on PHP? Do you need to read them all? Functions beginning from _ not being imported is not enough for your encapsulation needs?), and #5 #8 are completely subjective. Please don't say any more of that.<p>The second problem is: you don't understand that language is just a tool to solve your problem. You should find a suitable tool for your problem, not vice versa. While it is definitely easier to build classical websites (no websockets) in PHP, you won't be able to write a system daemon or SMTP server or a concurrent messaging server in PHP.<p>You shouldn't concentrate on one tool, it is slowing you down. Python is great when it comes to science: <a href="https://wiki.python.org/moin/NumericAndScientific" rel="nofollow">https://wiki.python.org/moin/NumericAndScientific</a>, you won't find this number of scientific packages anywhere but in Python. It also, in my opinion, is much better suited for API servers than PHP with its perfect Flask <a href="http://flask.pocoo.org" rel="nofollow">http://flask.pocoo.org</a> and creepy but pretty fast Tornado <a href="http://www.tornadoweb.org/en/stable/" rel="nofollow">http://www.tornadoweb.org/en/stable/</a>.<p>There are dozens of languages that everyone should use in their specific domain. Erlang for stable concurrency systems, Go for productive network and system programming, PHP for building simple websites, Python and Julia for scientific applications, Lua for embedding, Perl for parsing and scripts, Clojure for general-purpose language with immutable structures and concurrency, Haskell for learning great new ideas.<p>Programmer should be able to program on everything, that's the difference between a programmer and just a person who needs a website.