Scott Meyers wants to bring default zero-initialization to C++, mentions TDPL for precedent
Dicebot via Digitalmars-d
digitalmars-d at puremagic.com
Sun Nov 22 02:58:31 PST 2015
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.
More information about the Digitalmars-d
mailing list