I have worked extensively with PHP, Python, Ruby and Node. I love PHP for deployment of end user apps. It just works. It literally takes minutes and you can be in your app rather than struggling with the language ecosystem.<p>It takes a lot of work and thinking to get to this state that is easy to overlook but it reflects a respect for users from the developers. And it shows. All the top apps in terms of deployment are PHP. I will ignore the many criticisms against it, they may be valid or they may not. The bottom line is utopianism is a deadend, there are always upsides and tradeoffs. PHP is improving and will continue to improve and is relatively simple to learn and use. Kudos.<p>Python is really a fantastic asset to the community. It's relatively simple to use and deploy thanks to its wide support on most Linux distibutions. I hate complexity and there are tons of interesting things in Python beyond Django. The server story could be improved but its not a deal breaker.<p>I think Ruby and to some extent Node but Ruby more so shows a thorough disrespect near hostility for the user. Deploying a Ruby app is always time for trepidation and you can be sure it is going to take time unless you are extremely well versed and upto date on the ecosystem ie a developer with a Ruby focus and perhaps that's why Ruby is best used in SAAS scenarios. I have deep doubts on the user focus of developers who expect users to deploy their Ruby apps.<p>There are tons of issues that crop up, from getting the base environment up and you do need a dev environment which has its own pitfalls and gotchas as gems may need to be built. Then there is the decision of where the gems should be, using things like RVM, Rbenv or the system ruby, the users who should run it and all the shenanigans that comes with it. Then deploying the apps themselves in terms of using things like Bundler which needs its own knowledge base and servers which could mean compiling Passenger with or without Nginx or using Unicorn. That is a lot of know how and it's a complete mess.<p>Updating apps can be equally troubling. There is no knowing which Ruby gem dependency could fail, which library may be needed, and that particular library may not be in your running distribution so you may need to compile it and that could start a long time consuming chain. This is millions of user and dev hours wasted for nothing, literally, that could be resolved by the developers and is much worse than anything you can throw at PHP which looks almost angelic in comparision. The deep knowlege required makes Ruby and Node extremely unpleasant. It should not take this amount of know how to simply deploy and use an app.<p>HN is dev focussed and it makes economic sense for devs to have expertise in the most rewarding languages, but this should not detract from the weakness and strengths of languages and I think it does.