> Async event-driven programming is not going away,
I just made it go away -- started using gevent. You can make it go away also by using an actor based language like Erlang.
If we were in the 90s you'd probably would have said C++ is not going away so that's what all web services should be written in.
> thread context switches are expensive.
Green thread context switches are pretty cheap and Erlang's processes are very light weight. I was running with 100K processes at one point all with long polling (comet style) connections. That's very cheap.
> It just is what it is: inevitable.
Yap but that wasn't his argument. I don't see (even in general) how inevitability of something turns that something into a good thing.
If we were in the 90s you'd probably would have said C++ is not going away so that's what all web services should be written in.
Actually, I work on some C++ web services today (but I wouldn't advise everyone do that :-)
Erlang's processes are very light weight
Yeah, Erlang is great that way.
I don't see (even in general) how inevitability of something turns that something into a good thing.
In this case it's inevitable precisely because there are application domains where the use of V8 Javascript is a big advantage (say you want to leverage the same code base on the client side). There are other domains where the use of the single-thread async model is a big win, particularly when a runtime environment can support you by eliminating inadvertently-blocking calls. These domains were overlapping for some capable implementers, so I think Node.js was inevitable for that reason.
That doesn't mean it's a terrible system if it doesn't turn out to be a great replacement for your favorite PHP framework.
I just made it go away -- started using gevent. You can make it go away also by using an actor based language like Erlang.
If we were in the 90s you'd probably would have said C++ is not going away so that's what all web services should be written in.
> thread context switches are expensive.
Green thread context switches are pretty cheap and Erlang's processes are very light weight. I was running with 100K processes at one point all with long polling (comet style) connections. That's very cheap.
> It just is what it is: inevitable.
Yap but that wasn't his argument. I don't see (even in general) how inevitability of something turns that something into a good thing.