On Sunday, 22 November 2015 at 08:00:51 UTC, deadalnix wrote:
Erlang makes state terrible to work with (but doesn't bound state to a request). PHP has request local state. The model is very different. One of these models is way easier to work with.

I see the point but it is quite subjective/arguable. If one wants to go for scalability model with discardable requests context there is a lot of merit in not having any locally stored state at all.

I also didn't went into this as it was irrelevant to the scaling argument, but having rapid iteration is key, especially for UI work where automation is hard. Erlang doesn't fit the bill.

No objections here but it is indeed irrelevant to scaling in any sense.

Last but not least, Erlang has a foreign syntax, so ramping up devs is harder.

It is also quite true and irrelevant to scaling statement. Though I'd expect Facebook to have less trouble with it considering the famous hiring standards.

Back on PHP, there are many other aspects of the siloed requests model that provide benefits that erlang simply cannot provide.

Probably, though wording "simply cannot" is very rare to be true. But it is also true the other way around - in PHP it rather hard to get transparent messaging between services (decoupled from underlying physical server layout) and I will call that more important for scaling than all of your points combined.

Reimplementing main points from abovementioned list (primarily isolation and request-local allocators) can be done with pretty much any decent language and potentially save huge amount of money on server costs.


Well one can recode the runtime to get these behaviors. Or one can focus on delivering value to customers.

Recode runtime? Most of stuff you mention is provided for free by simply using CGI model :) Using vibe.d processes in single thread mode with external load balancer provides system with similar benefits and better performance/maintainability - right here and now. Apart from COW bit of course, but that is one I completely disagree with as beneficial at all.

And D isn't any special here. You describe one specific (not even necessarily as scalable as you claim) approach to service architecture and call it inherent property of a language (and pretty much a killing feature). That is absurd.

Scaling implies not only being able to increase the load without system redesign but also doing it efficiently - both in server and maintenance costs. PHP is rather bad at both.

No, performance, efficiency and scalability are disjoint things. Scalability is about how much more resource are needed to serve how much more requests.

Yes, and if absolute amount of resources is too costly, it doesn't matter if relative increase is linear. It like having algorithm with good complexity but huge constant - theoretically it scales but in practice you want better.

Maintenance costs are directly related though - developer resource also counts when measuring the increase. Because of that one can't ignore problematic parts of PHP as a language itself when talking scalabiliy. If it can't survive business logic increase, being able to survive request count increase only helps so much.


There are good plateforms that come with shit language out there. We have a good language with a shit plateform (let's be honest one second). Facts show that 1/ win over 2/ 100% of the time.

Writing how bad 1/ is in the 2/ forum is simply an exercise in finding excuses to not look where it is ugly.

I'm living in the real world, where at least half or the request you make to a webserver are handled by PHP. Arguments are cheap when facts refuse to match.

And this is what struck me as unpleasantly surprising in your comments on topic. You take social factors (getting the momentum, gathering large stable community) and derived beneficial factors (good tooling, good platforms, lot of out of the box solutions) and proceed to use it as a backing argument to mostly technical statement ("PHP (as a language) scales"), casually accusing everyone of being stupid in process. Like, WTF?

One can also say that PHP is easy language to start with which got in right place in right time with good vision. That contribution snowball effect resulted in having very good platform and collective wisdom, as well as solid developer pool. That it outshines all commonly called technical flaws and, together with convenient common request processing model, can make it feasible decision for scalable systems if one can afford it.

But going straight to "PHP scales, suck it" and backing it by "hey, Facebook uses it"? That is missing important context at best.

Reply via email to