2) The web is just one of several mediums for delivering content these days.
3) Node.js has a highly suspect concurrency model that might not be suitable for all the various types of programs you could be building.
2) The web is just one of several mediums for delivering content these days.
3) Node.js has a highly suspect concurrency model that might not be suitable for all the various types of programs you could be building.
Agreed on the "not suitable for all" but no one said that.
We've also been using event-driven IO for decades and Node is the only modern run-time to ignore the obvious perils of evented IO. Instead of doing what languages like Go and Erlang did, which is have event loops in the run-time that are completely transparent to the developer, Node pushes the evented IO right into the application developer's face. Are there remedies for writing good evented code? Absolutely. But why should application developers need to be schedulers in the year 2014?
Thanks.
Erlang seems interesting, would you mind expanding on Erlang or GO?
Erlang also has great features for distribution. Communicating with processes that live in another Erlang VM node is also transparent. It's debated whether this is a good thing or not because some people think communicating over the network shouldn't be transparent due to partitioning, but in a lot of Erlang programer's experiences this is a wonderful feature.
The result of all of this is that the Erlang code you write looks synchronous but is executing concurrently. You have both CPU concurrency and IO concurrency. The Erlang VM takes care of most of the nasty bits of asynchronous code, which is what a good language run time does for you.
Where is Erlang used predominately? Is it a "good" solution for web development (if that's even possible)?