Hi Vitaliy--at Concurix, we got our start building an Erlang based
operating system, and now we are building Node.js profiling and monitoring
tools. So we can speak in depth about the two platforms--feel free to ping
me offline if we can help.
In the meantime, +1 for other points made on this thread. A few things I
1. While Erlang has a very elegant concurrency model, the actual
implementation has a ton of singletons, particularly with gen_servers. As
a result, the *actual* multi-core scale-up factor is a LOT less than you
would otherwise expect. We have found the process-per-CPU model of Node
clusters to be a more efficient multi-core scaleup paradigm.
2. NPM is a true gem, and there is no equivalent in Erlang (yet--they are
working on it). While not perfect, Node/NPM's ability to handle lots of
third party modules with different version all in the same app via the
closure encapsulation is a big big deal. In Erlang, you typically need to
be very careful about which third party modules are included, and which
versions, as the module namespace is global.
3. +1000 on the depth of the community in Node. You will find amazing, and
amazingly talented folks in the Erlang community, but the sheer scale of
Node brings a lot of depth to the set of available libraries, help on stack
4. List comprehensions and function pattern matching in Erlang can yield
some very elegant and tight code.
On Wednesday, November 12, 2014 7:30:05 PM UTC-8, Matt Sergeant wrote:
On Wed, Nov 12, 2014 at 7:52 PM, Vitaliy Feoktistov <
Erlang is better, period.
- error tolerance
Erlang is better.
Node is significantly better based on the computer language shootout.
- scalability (scale-in, scale-out)
Erlang is better at scale-in. Neither are much different at scale-out.
- adapted for multi-CPU servers (openmp pool, cgroups mapping,..)
Erlang is better. Node relies on forking a process per CPU.
- adapted for mobile applications
I have no idea what this means. Neither are great at native apps on mobile
(iOS and Android). Both are fine if you're just serving JSON.
- ease of programming
Node is way easier. The syntax is simpler and more familiar to the
majority of programmers.
- integration with other languages (C/C++...)
Node is easier because it has FFI interfaces available. It's still a
proposal to build something like that in Erlang.
- existance of libraries and developed code/projects
Node wins. Despite being decades younger.
- database integration (sql, nosql, in-memory)
Not sure about Erlang, but Node has everything pretty much covered.
- hire skills / price
will tell you that when you find an Erlang programmer they are generally a
"10x" programmer. YMMV.
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to email@example.com.
To post to this group, send email to firstname.lastname@example.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/8285e22e-6226-40f5-903b-3319e76afea2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.