Hi

I must say it's a combination of things which make node.js tick for me.

JavaScript has been on the server side for many years, but most
solutions have done it "wrong". It's been blocking and many solutions
have also been built upon Rhino which are a memory hog and just made
things slow. JS on the server side has not performed at all until
node.js. Node.js does at this point perform pretty well.

I really like that node.js is non-blocking, async and that most of the
operations are stream based. The stream based part I think are well
overlooked in node.js. It makes it possible to do stuff like this (which
are very, very hard in most other systems):
http://transloadit.com/blog/2010/12/realtime-encoding-over-150x-faster

These features are very desired features in my taste.

The other part in my combination is being able to have the same language
both on server and client. It's very desirable. It has been tried by
several languages many times and more or less it have failed. JAVA
Applets are a good example.

Being able to use the same language in both worlds will provide stronger
JS developers. At least I think so. JS client side have for many years
been considered as a toy language by most trained / skilled programmers
with there roots in other languages. They have tried it and burned there
fingers at the lack of good documentation on the language and all the
struggle with different implementations in browsers. Both; not a fault
in the language. 
But; these developers are now getting the eyes up for JS because of
node.js and are slowly bringing there good developer skills to JS. Which
I think is good. I see a lot of the discussions going on on the node.js
mail-list which also apply to client side development. I think client
side development have a lot to learn from server side and vise versa.

(PS: I'm not saying client side coders are bad coders, but I think JS
have in most cases been a language mainly picked up by people not coming
from a trained programmer background. I'm one of those myself.)

The third and last part in my combination which make node.js tick for me
are real time applications. After playing around with http longpolling
(CometD) and Web Sockets in some other languages server side and then
node.js I must say it is just simpler to do in node.js. In my head, a
async developer style server side is so much more correct on the server
side when one start to talk about real time applications.

Nothing is that new in node.js and many of these tasks have many other
languages and implementations tried to pull off before but node.js does
get so much right where many others have failed. Plus node.js have
emerged just at the time where more and more people have started to set
there eyes on JS.


One last note on multiple-processor concurrency in node.js. When V8 get
support for Web Workers we will be able to use multi-core computers much
more efficient. Until then we have a Web Worker module for node.js:
https://github.com/pgriess/node-webworker

Trygve


On Sun, 2011-01-02 at 01:27 -0800, jemptymethod wrote:
> I don't get some of the fuss over node.js.  Sure, it can be great to
> write most of your code, both client and server side in one language.
> 
> But what's all the fuss over the event loop.  Like they invented it or
> something?  It's been part and parcel of other frameworks, and even
> the Tcl language, for over two decades.
> 


-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/[email protected]/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/[email protected]/

To unsubscribe from this group, send email to
[email protected]

Reply via email to