[erlang-questions] node.js vs erlang
Tue Jun 17 17:12:24 CEST 2014
On Tuesday 17 June 2014 14:41:28 Joe Armstrong wrote:
> ... but manually converting a long lived computation into
> a re-entrant non-blocking version is very difficult.
> The node books say something like "make sure that callbacks
> run-to-completion quickly"
> I would say that complying with this advice is extremely difficult. It's
> very difficult to guess
> which computations will take a long time, and even if you know it's
> difficult to break them into
> small re-entrant chunks.
You can't hit the nail any more precisely on the head.
> Node is very popular so I'm trying to understand what it is about node that
> is attractive.
> npm for example, looks well engineered and something we could learn from.
> The node
> web servers are easy to setup and run, so I'd like to see if we could make
> easy to use Erlang servers.
"Easy" is not the same thing as "simple". A lot of people are familiar with JS
and node.js is a fad that speaks to the web 2.0 crowd that can't/won't digest
a serious discussion about the issues you are raising above. *Anything* in JS
is going to be easier for this legion of web folks compared to, well, anything
that isn't JS.
You are trying to apply your deep technical expertise to a shallow social
phenomenon. As Alan Kay somewhat recently observed, computer science has
become pop-culture and has very little to do with engineering. I'd go further
and say he was really talking about the software development landscape as
applies to the web and other low-performance applications. Folks like you are
coming from a different world than the folks that use and (especially) have
made node.js a pop phenomenon.
So, don't worry about what is popular. (Popularity is no indication of value
-- I don't think this point needs further support.) If you do that at the
language/platform/infrastructure level you will merely re-discover that
Richard Gabriel was correct, marketing trumps engineering, the Huns will
always crush an overly domesticated Rome, and worse is indeed better. IOW,
you'll turn Erlang and its platform into Java and its vm.
That would make me sad -- for so many reasons.
PS: The corrolary to the above is that if the goal is popularity, then neither
the means nor the path to success can be inherently technical in nature.
More information about the erlang-questions