

Ask HN: what makes Node.js hip? - cshenk

When RoR became a big thing, I could pretty easily catch up with the events, even as an outsider. I was able to pin it down in one sentence: "RoR implements a popular pattern, MVC, in a language which makes it possible to do it with ease &#38; dynamism at a level that was not seen before". It's a clear selling point, from that I could understand why people jump on the RoR bandwagon.<p>However, now Node.js seems to be the next big thing, and I'm just scratching my head. I have the respective one-sentence summary at hand -- "Node.js is an asynchronous event-based server side javascipt framework", but that does not let the bulbs go up in my head. "asynch event-based" in itself is not a novel thing, and I don't see why doing it in javascript takes it to the next level, or if not js is the big deal here, then what particular aspect makes it cooler than other similar beasts. (I have nothing against javascript, I just don't see the kind of advantage (over what?) which I could spot with Ruby vs. the 
"standard" MVC language, Java.)<p>Can someone give a better compact summary which reveals the trick more aptly, or point out how the above cited one is a selling point, or explain it in a "What it fixes"[http://paulgraham.com/fix.html] style...<p>Or maybe there is no point in trying to make it into a silver bullet, it's just simply written well and marketed well?
======
thirtysixred
The only thing that makes node.js hip is people who call it hip.

Using node.js isn't about being hip or cool, or whatever else you want to call
it. It's about solving a problem you have.

Personally node.js has solved a problem I was having with a recent project
that needed a Comet server, and since node is all async I got this server up
and running in a few minutes. I was never successful with Apache or Nginx.

I recommend taking a look at this Stackoverflow answer as it outlines the
benefits of node.js: [http://stackoverflow.com/questions/1884724/what-is-node-
js/1...](http://stackoverflow.com/questions/1884724/what-is-node-
js/1902991#1902991)

Also I recommend watching Ryan's Introduction to node.js talk:
<http://www.youtube.com/watch?v=jo_B4LTHi3I>

------
kordless
Back in the day I used this product called ZXTM which was written by Zeus.
ZXTM was/is a layer 4/7 load balancer, with the ability to write control code
in what felt like JavaScript, but wasn't. It was exceedingly frustrating to
implement some use cases with it and hideously expensive, but I used it anyway
because my app needed it.

With Node.js, I have pretty much all the functionality I had in ZXTM and more.
Because I can write in JavaScript and have access to load balancer-like
functionality inside the app, it gives me a ton of control. It's also free and
there is a great amount of support and code coming in from the community which
helps me get ideas off the ground faster.

The guys at Joyent have certainly done a GREAT job of making something that is
stable, fast, easy to use, and enables easy adoption by the masses. If you
want to call that marketing, then they've done a great job at it. I'd counter
with their actual marketing materials around the product could be a bit
better, but that will probably improve over time.

Hands down, it's my favorite programming framework.

------
EdwardMSmith
To paraphrase your own statement, Node makes it easy to develop an
increasingly popular type of app, highly concurrent, scalable, realtime
streaming applications, in a popular, widely used language, with ease at a
level that has not seen before.

Really, its the same trajectory as Rails, but targeted at a different problem.

------
bmelton
"Node.js allows you to write code on the server in the same language you're
already writing it on the client."

As for that, who cares what's hip, or cool? Node.js definitely isn't a silver
bullet, and introduces its own set of problems. But while it has its ups and
downs, simplifying your development methodology and shrinking your technology
stack is generally a good thing.

Also, it enables people to write code on the server who only knew JavaScript
before. I guess. I don't know how valid that is as a use case.

~~~
bni
For my current project, a multiplayer game that runs in the browser, its
essential to be able to run the same code on the server as in the client. This
is how FPS games such as Unreal do it with C++.

Basically the game simulation needs to run on the server and be the
authorative game state to distribute to the clients that does their own
prediction of the game state.

To do this with Java or PHP on the server would mean to implement the game
simulation twice.

Keeping in mind that social network sites, etc resembles multiplayer games
more and more (realtime feedback etc), node.js really helps out here.

