The "problem" with node.js is that it's single threaded, so you need to be careful not to block that thread with long-running operations. Erlang has a scheduler built-in so you don't have to deal with that yourself.
Yes, I know that, as I've pointed it out multiple times in the past. Erlang is "better", but, if people writing code for node.js pay attention to how they write code, making the long-running stuff done via callbacks, as they have been doing, it will be "good enough".
Yes, I know. I know how Erlang works and what makes it better. But I think that something like node.js really encourages people to not do stupid things like while(true) in actual code, which is why I maintain that, while it's not as good as Erlang, it may be "good enough".
I agree with you. Node.js is a practical in cases where your app is mostly glue between some client and some other service. CPU intensive apps can be offloaded to other processes (not the Erlang kind) making the driver glue again. So, yes, it works.