Thoughts on node.js
It strikes me as likely that the performance benefits seen by companies adopting node.js derive from three things:
1. Forcing a developer to think (and code!) in an asynchronous manner,
2. Using the same language client and server-side reduces developer learning curves (and possibly troubleshooting),
3. The prototypical inheritance lending flexibility in architecture; passing callback functions around is more convenient that traditional callback structures in Java or C#
A practical question for Quandis is whether to adopt node.js or not. I have trouble justifying that move for a few reasons, some good, some bad:
1. Forcing developers to code in an async manner is a fundamental requirement, regardless of language. Today's C# make is ridiculously easy to use on-the-fly delegates like js.
2. The .NET Task Parallelization library is really slick, and I've not seen any equivalent in the node.js world (please point me to examples if you know of any).
3. Generics gives me a nice blend of abstract flexibility with compiler enforcement of concepts I deem necessary; I've not found the same in the .js world.
4. Reflection is really, really useful.
With that said, node.js is worthy of serious consideration simply to facilitate a migration from Windows to Linux to save on our data center costs. My fear with such a move is that we have people on our team that are really knowledgeable on the MS stack, and we'll have to rebuild that knowledge base on a Linux-based stack. That labor effort may well outweigh the licensing costs we save. With node.js, at least we can bring our js expertise to bear!
Let me know if my minimally-educated assumptions about node.js that are off base!