4 ms·
This is silly. Lots of large companies use php for their internal applications. I built a php based backend for one of the largest sellers on amazon, in php. Th
by AaronNewcomer 6y ago
This is silly. Lots of large companies use php for their internal applications. I built a php based backend for one of the largest sellers on amazon, in php. That company is approaching $1B in annual revenue.
Php allowed my team to move amazingly fast and deliver what the business needed very quickly. In e-commerce and dealing with Amazon specificity, rules and methods change monthly and you always have to be able to quickly pivot to remain competitive and I think php was a big factor in allowing this to happen.
- rococode 6y agoI'm curious, is there any particular aspect of PHP that helps you build things faster than you might be able to with other languages or frameworks?
- chucky_z 6y agoIt’s like Java but you can actually use it. It has no compile time, the development cycle is crazy fast, the stdlib is good for the web, every problem is solved so they’re all googleable, it has a good package manager now, great frameworks, good testing stuff, there’s a lot of positives atm
- mekster 6y agoConcurrency is one thing not good for PHP. If a background task needs a lot of parallel work, I'd use node in that part.
- chucky_z 6y agoI agree with you. As a counterpoint though, I worked somewhere that generated some of the heaviest and biggest reports of anywhere I’ve ever seen with a lot of concurrency and PHP handled the task fine. Node would have still been a better fit though :)
- thdrdt 6y agoThere are multiple reasons, but one I like most is how easy it is to deploy. And because you don't need build tools you can deploy it as easily years later. Also while developing you can just hit F5 or rerun a PHP script in your console compared to waiting for a build.
- icedchai 6y agoYep, this is key. I do a ton of Java programming in my day job, but PHP for freelance work. The simplicity of deployment and rapid dev cycles with PHP is great.
- jmknoll 6y agoWhat specifically about php enabled the team to move faster than if you’d used used something like Rails, Django, or Node. (Assuming this was some kind of web-based internal app, since you were using php)
- conradfr 6y agoI would expect the same as with Rails or Django if they use Symfony or Laravel, but with cheaper developers.
- oatmealsnap 6y agoYea, far more web developers know PHP than Ruby or Python. Python devs don't necessarily know web development, and Ruby is pretty old-school (I don't mean that in a bad way, it's just not what they teach these days and not as applicable outside of web development).
- sroussey 6y agoNo memory leaks is always a benefit.
- digianarchist 6y agoWhy do you think PHP doesn't have memory leaks?
- derision 6y agoEvery request gets it's own process and memory space which tears down after the request is complete. Unless there's leaks in the runtime itself, you're pretty much unable to create memory leaks in your application code
- digianarchist 6y agoThat's fine for request/response cycles. What about long running background jobs?
- partyboat1586 6y agoFor someone who has mostly used Node, Typescript and C# .Net what could Php offer me?
- nicoburns 6y agoA much more comprehensive web framework in the form of Laravel (https://laravel.com/docs/8.x https://laravel.com/docs/8.x). Ruby (Rails) and Python (Django) also offer this. But Laravel is one of the best designed frameworks I've ever used and is a joy to use. And modern PHP is a pretty nice language too.
- partyboat1586 6y agoCool! I've always found the weak point of Node is the libraries, they are often poorly supported and don't work well together. What's the ORM that comes with Laravel like, any good?
- nicoburns 6y ago> What's the ORM that comes with Laravel like, any good? Yes, it's pretty decent. Very flexible and always allows you to drop down to lower levels when you need to. knex.js is a port of Laravel's query builder from PHP to JS. But Laravel also has an active record style ORM system on top of the query builder.
- partyboat1586 6y agoNice, I currently use knex.js with Objection which provides the active record like API on top. You still have to write the migrations in knex but to be honest I prefer it that way because it gives you more control so if you ever do need to drop down to lower levels you know the exact structure.
- paulintrognon 6y agoI have used quite a few ORMs in JS and in PHP, and Laravel's ORM is really one if the best, if not the best.
- mgkimsal 6y agoI'd done an order taking/processing extranet system 20 years ago, in PHP, at we did around $1b/year. No one was doing that amount at that time (well, info wasn't available anyway if they were). This was all PHP. PHP4 to be precise. Had done an earlier iteration in classic ASP, but ended up needing more servers to accommodate growth. Moving to PHP, we were able to reduce the server count. Now... this was naive ASP - all the session state was kept in memory. There probably would have been a way to not do that, but no one where I worked knew how to do that (or even thought in those terms - it was just "set a sticky bit on the load balancer!". The PHP code was slower than the ASP, but because the session state all went to disk, the memory usage never got too high. We still ended up using the sticky bit on the load balancer, but there was far less concurrent memory usage (IIRC servers had either 256m or 512m). We could serve more - slightly more slowly - via PHP. The upside was that it was a known user-based - contractor/dealers buying from the company - so we didn't have to deal with "well, we might get 40,000 browsing visitors tomorrow because of a TV ad". The user base didn't fluctuate wildly, so it was easier to manage against. By comparison, in the same company, another team of people were working on a Java web app. It would often take them 15-20 minutes to recompile/redeploy something to a test server to try out an idea to get feedback on something, whereas with the PHP, I could put code on a test server for feedback in a few seconds. (could usually do that with the ASP too). Yes, no doubt, the Java people were "doing something wrong" and someone can say they'd have known how to do it "right" in the year 2000, but... it was what it was.
- iainctduncan 6y agoIt's not silly, looking at this is literally my job. Perhaps minuscule is an exaggeration, but it's really darned small. I audit tech companies getting purchased for $2M to $1.5B, average prob $50-100M. We see very little PHP aside from say the company website. In the 50 I've done in the last two years, I'd say 3-4? And they were tiny shops. I haven't seen anything with more than $5M in ARR built on PHP. The majority of successful mid-sized tech companies are still .Net and Java. After that, Ruby, Python, Node. (Although tons of Python in the ML space for them now, which seems to be the obligatory buzzword tech ...) Hardly any are using PHP in their real production apps. Yes, I know you can come up with a list of exceptions, but there are a metric tonne of tech companies out there and the majority are unglamorously making money out of the public eye on .Net or the JVM. Note: I am not saying they should use C# and Java - just that they do. I was a Python dev for 15 years before doing this, and I was very surprised to see how dominant those still are in companies over 10 years old and over $10M in revenue. And the bigger the company, the more likely it is be on C# or Java. I think every one I've seen going for north of $100M was at at least mostly on them (i.e. they might have a few services in Go or Node or something too, or some model engine in a niche language). Once a company is into the land of bankers selling it to other bankers, a lot of decisions get made for "safe" reasons, like ease of hiring good developers, enterprise infrastructure support, well audited security, and so on. And from the perspective of the investment firms, that frankly makes a lot of sense. By the numbers, most successful tech companies are not particularly exciting places to work anymore.