I agree with Dan on this one.

The key benefits of node.js vs C#/IIS (I have been doing that since 2000):

* Pleasant development experience
* Access to the newest technologies and ides (just remember the drama
getting coffeescript, sass etc support in the VS environment)
* The module system (npm) and the open source principles embodied in git
workflows (even MS folks realize that this is good these days)
* Working with a like minded community - I never found that in C#
* Access to the best developers in the world (Hiring for c# is a gigantic
pita).
* One language between client and server when doing web or phonegap work.
We only have seen the beginning here.



On Tue, Jul 3, 2012 at 11:52 AM, Dan Milon <[email protected]> wrote:

> About performance, from my POV the differences are the concurrency models
> each platform uses.
>
> From one side, IIS has a thread pool, one thread per connection and
> blocking IO.
> At the other hand, node has one thread, and non blocking IO.
>
> First approach problem is that memory consumption is increased linearly
> with each concurrent request because each thread has its own stack. (try
> spinning 10k threads)
>
> Also the more the requests, the more the threads running, thus more time
> is spent on context switching between these threads instead of doing
> something valuable.
>
> The obvious solution would be async & non blocking IO, but it is not so
> straight forward to implement it, and any solution wouldnt be cross
> platform, but we are lucky all this complexity is abstracted by
> libev/libuv. Javascript made a perfect fit for a higher level language due
> to language-level anonymous functions & closures which allow you to write
> non blocking code easier.
>
> Of course there are very many problems introduced with async & javascript,
> eg callback nightmare and you should be aware you will face this sooner or
> later.
>
> But it is not all about performance. For me, writing nodejs code feels
> exciting and very pleasant! The community involved is very active, eager to
> help you, and all of this construct a very balanced ecosystem.
>
> Correct me if im wrong but I believe ASP.NET's community involves old
> guys that try out something only if it has the word "enterprise" on the
> description.
>
> Whenever i argue with a friend about performance, threads, async, sync and
> stuff it always ends up with drama! Best thing you can do is tell him you
> feel nice coding node and have him try it out, think of a project to do
> together and have fun etc. Im sure next time he will ask you to write your
> next code in node ;)
>
> Hope I've helped,
> Dan Milon.
>
>
>
> On 07/03/2012 08:56 PM, Justin Collum wrote:
>
>> Had a discussion with a friend about Nodejs the other day. We are both C#
>> / MVC / ASP.NET devs, with about 10 years experience. He asked me why
>> someone would choose Nodejs over IIS + MVC . My argument was 1) performance
>> 2) non-blocking IO. Keep in mind that I don't know a lot about node, I've
>> built one small site and that's it. So my argument in favor was pretty
>> short.
>>
>> His response: Well, if I need performance on IIS I can just bump up the
>> number of threads in the thread pool. Fair point.
>>
>> After looking into it a bit, it seems that the big difference between IIS
>> + MVC and Node is that each thread can do more in the Node  world because
>> of the non-blocking IO. This cuts down on context switching and makes for
>> better overall performance. Add that to the "one language to rule them all:
>> coffeescript" factor and it's a clear win to me.
>>
>> Is that a fair summary of the performance advantages of  Nodejs over IIS
>> + MVC? Is there more to it?
>>
>> I'm aware that you can run Nodejs via IIS but my intuition tells me that
>> won't be a good fit.
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines: https://github.com/joyent/**node/wiki/Mailing-List-**
>> Posting-Guidelines<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 post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> nodejs+unsubscribe@**googlegroups.com<nodejs%[email protected]>
>> For more options, visit this group at
>> http://groups.google.com/**group/nodejs?hl=en?hl=en<http://groups.google.com/group/nodejs?hl=en?hl=en>
>>
>
>
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines: https://github.com/joyent/**node/wiki/Mailing-List-**
> Posting-Guidelines<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 post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> nodejs+unsubscribe@**googlegroups.com<nodejs%[email protected]>
> For more options, visit this group at
> http://groups.google.com/**group/nodejs?hl=en?hl=en<http://groups.google.com/group/nodejs?hl=en?hl=en>
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
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 post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to