5 ms·
Interesting. It doesn't amaze me the continued popularity of PHP. The language, framework, and ecosystem just work. Plenty of people well versed in it. It's
by jmspring 10y ago
Interesting. It doesn't amaze me the continued popularity of PHP. The language, framework, and ecosystem just work. Plenty of people well versed in it. It's not sexy, and I've done more than a few years of consultancy there.
New energy in an ecosystem is never a bad thing.
- pekk 10y agoWhat doesn't "just work" to the same standard? What, among the things anyone uses, are you saying that PHP works better than?
- siegecraft 10y agoPHP doesn't have the library fragmentation of nodejs or the deployment friction of compiled languages like C# and Java. So when someone says "its just works" they mean they can clone a repo onto a server and see results immediately, without the intermediate steps that other languages and frameworks impose on you.
- onion2k 10y agoWhen I started out making web software 20 years ago the choices for server-side code were essentially C, Perl, or ASP with VBScript. Then PHP came along and made things a great deal easier because managing a server was hard, and PHP just worked pretty much everywhere. In that sense PHP was amazing. We aren't working in that environment any more. What software runs on a server is no longer up to the hosting company. A developer/devop can configure a server far more easily, with no input from a sysadmin. The process can be completely automated. That change has opened up development options considerably. That doesn't mean writing code in PHP is a bad choice, but it does mean there is a choice. PHP's primary advantage has been eroded to the point where it should no longer impact the decision making process when you're figuring out what to use. Everything else has caught up.
- collyw 10y agoAs a Django dev, I don't think its anywhere as easy to deploy Django as PHP.
- ben_jones 10y agoIt's literally six or seven lines in an Ansible playbook
- djm_ 10y agoLearning Ansible is not easier than dragging and dropping a file onto a server and having it run with no extra work. They weren't saying it was hard but that it is not as easy as PHP. PHP is one level up from a static site for most beginners, you can simply drag and drop a file on many shared web hosts and get going. That is the attraction.
- onion2k 10y agoThat's was the attraction. I guess it still is for very simple web apps that one person can build. It's been a while since I've worked on anything like that. It's probably been a few years since I've even signed up for any service like that. The web has moved on to building more scalable things. If you're writing something moderately complex then you're very likely to be running it on a virtual instance (maybe more than one) on AWS/Digital Ocean/etc, and if that's the case then you'll go much faster if you have a testable, reproducible build process that your development team can tear down and build back up easily. That is much more complicated than FTP'ing a few scripts to a server and importing a SQL script with PHPMyAdmin, but at the same time, as soon as your service hits a few thousand users with hundreds of them accessing it concurrently, your PHP script FTP'd to a shared server probably isn't going to work very well. Learning new things is not a reason to avoid moving forwards. If anything, it's why I got in to web dev in the first place. New things are what make it interesting. I don't learn all of them, and I don't switch tools very often, but sometimes something comes along that makes life better. Reproducible builds with Ansible/Puppet/Chef/etc is one of those things.
- 10y ago
- kijin 10y ago> We aren't working in that environment any more. "We" are a minority. The vast majority of websites out there are still hosted on shared servers over which the customer has very little control other than installing and updating WordPress. You might be able to convince cPanel to let you run a Rails app, but the system as a whole was designed with PHP in mind. The owners of those websites have absolutely zero interest in messing with the server environment. They're not developers. They've probably never heard of devops. They're totally allergic to SSH and can barely even use FTP. And yet, these are the people who, whether knowingly or not, help keep the web as decentralized as it is. PHP was the only language that catered to them 15 years ago, and it still is the only language that makes this possible on a large scale. I host my blog with NearlyFreeSpeech.net. The whole site is just a couple of PHP scripts. I haven't updated it in almost a year, but it keeps working, no maintenance required. If I had to host it on DigitalOcean like all the cool kids do, it would cost me 10x more in monthly fees (even with the smallest droplet) and 100x more in time. This kind of setup is what I call "It just works." Not dockerfiles and bootstrapping commands and all sorts of dependency management tools.
- epimetheus 10y ago>10x more in monthly fees The smallest droplet is 5 dollars a month, do you pay 50 cents a month for your shared hosting? >100x more in time Have you even looked into DO or are you just making assumptions? You can create a ton of apps with one click (One-click apps) and install a full stack with WordPress, Drupal, Django, and much, much more, and it just works. If anything, it's the same amount of effort as some cPanel shared hosting.
- kijin 10y ago> The smallest droplet is 5 dollars a month, do you pay 50 cents a month for your shared hosting? Yes. > Have you even looked into DO or are you just making assumptions? You can create a ton of apps with one click (One-click apps) and install a full stack with WordPress, Drupal, Django, and much, much more, and it just works. My company manages servers for non-technical people whose small business or hobby websites have outgrown shared hosting. I often get clients who found out a little too late that running a Linux machine securely and efficiently is much more complicated than deploying a one-click app on DigitalOcean (or a similar service). I sweep in, optimize the hell out of everything, and occasionally patch some gaping security holes. So no, it doesn't "just work". At least not in the long term.
- wiremine 10y ago> Then PHP came along and made things a great deal easier because managing a server was hard, and PHP just worked pretty much everywhere. In that sense PHP was amazing. This. My first web programming was in Perl [1], and using PHP was much simpler to get into. You just uploaded it and it worked. I think the biggest problem with PHP was it was a hammer and everything looked like a nail. That created a lot of spaghetti code. [1] I still have a soft spot in my heart for Perl. I don't think it was an issue of "PHP is better than Perl", just that PHP was easier/faster.
- onion2k 10y agoThere are features of Perl I miss even now. tie for example. ES6's proxies can do something very similar, and that makes me happy.
- mrweasel 10y agoI would mostly agree, but given my latest attempt at getting PHP based media server (Spotify clones) working, I wouldn't say that "it just works". Even with the documentation fairly good for all three solutions I tried, I managed to get non of them working. Wordpress is an example of a PHP application that just works and deploys easily, but it also not using a lot of libraries. My take, and it may very well be wrong, is that the ecosystem is a nightmare in terms of deploying application. There's everything you could ever want though. Of cause my experience may be down to the applications I tried to deploy.