3 ms·
I don't really see how PHP catching up to improvements that were made in other ecosystems suddenly makes it a better choice than it's competitor though. What is
by jrsj 6y ago
I don't really see how PHP catching up to improvements that were made in other ecosystems suddenly makes it a better choice than it's competitor though. What is it actually better at? And as a developer, why should I bother with it when it probably has the lowest average salaries of any web technology AND isn't going to help me get shit done faster than several other tools that pay above average?
- closeparen 6y agoI’m not a PHP programmer but I used to be. It’s hard to overstate the simplicity of the deployment model. Your competitors will spend tens of thousands of person-hours chasing their tails around Docker, Kubernetes, AWS, Ansible/Puppet/Chef, etc. while you spend 15 seconds FTPing your source code around. LAMP stack achieved the “serverless” dream before many of today’s engineers were even born.
- mgkimsal 6y ago> Your competitors will spend tens of thousands of person-hours chasing their tails around Docker, Kubernetes There are people who use all that stuff to deploy PHP-based apps too, though. One doesn't preclude the other.
- megous 6y agoAlso ad hoc in-production debugging/observability is kinda easy. ssh to your server, add a log statement to code. Done. I can't do that with a node app by default without restarting it, killing all connections, etc.
- jrsj 6y agohow is that any easier than dropping a fat jar or a binary on a server? its not like building those is difficult
- sjy 6y agoAnalogous to the ‘serverless’ platforms, there are many companies selling shared PHP hosting, so you can just upload your code and expect it to work without worrying about security updates, service management, configuring TLS, etc.
- closeparen 6y agoA fat jar dropped on a server doesn’t just run. You need something else to run the process, restart it if it crashes, manage log output, etc. PHP is served as soon as it’s dropped into a DocumentRoot.