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]
