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 would add: 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 overflow, etc. 4. List comprehensions and function pattern matching in Erlang can yield some very elegant and tight code. Good luck! cheers, alex [email protected] 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 < > [email protected] <javascript:>> wrote: > >> - concurrency >> > > Erlang is better, period. > > >> - error tolerance >> > > Erlang is better. > > >> - performance >> > > 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 >> > > It's far far FAR easier to find Javascript programmers. Erlang programmers > will tell you that when you find an Erlang programmer they are generally a > "10x" programmer. YMMV. > > Matt. > > -- 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 protected]. To post to this group, send email to [email protected]. 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.
