Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am 14 years old, and have been studying web/app/software development. I am trying to learn a backend language, and am considering node.js. I have heard awesome things about it, plus I like that fact that I can already use the JS I know in it. However, I am concerned that it may just be a "trendy/hip" technology, and that it may not be being used in the real-world that much. Are people really applying node.js in production? Or is it just hip right now?

share|improve this question

closed as primarily opinion-based by MichaelT, gnat, GlenH7, Kilian Foth, jmo21 Sep 26 '13 at 8:53

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

3  
nodejs.org/industry –  Zirak Sep 25 '13 at 1:10
2  
Who/why is this downvoted? This is a valid question. –  tjons Sep 25 '13 at 1:21
5  
@TJonS: Most user confusion about things that happen on SE stems from a misunderstanding about what SE is all about. SE is not a forum, and folks who come here expecting it to work the same way as forums do are often surprised when it doesn't fulfill their expectations. Read up on how SE works here, especially the section devoted to asking questions. The article that pertains to this specific question is here. –  Robert Harvey Sep 25 '13 at 2:18
3  
The mouse over for the downvote reads in part "This question does not show any research effort." A quick search for "Real world node.js" on google brings up an MSDN blog titled "Real World Scenaries for Node.js in Windows Azure", an older SO question on node.js with some links and another SO question Node.JS + MongoDB for real world Enterprise level application?. Note that both SO questions I linked are closed. –  MichaelT Sep 25 '13 at 3:14

1 Answer 1

up vote 4 down vote accepted

Node.JS is an interesting technology for a number of reasons, but the most fundamental one is that it has a very simple solution for the scalability problem.

Scalability has to do with the ability for a server technology to service a large number of requests in a short period of time. Many server technologies employ an elaborate and complex mix of technologies to do this. Node.JS takes a more basic approach: it simply makes itself completely asynchronous, which means that all client requests (say, information being asked for from a web page) return immediately (although the responses to the requests might take a little longer).

The way Node does this is by using a single thread that services the requests, immediately spinning each request off onto its own new thread. It's a remarkably effective technique for handling large numbers of users, using a relatively simple software infrastructure.

For that reason alone, I think Node is worth learning. Yes, it is modern, but it is also quite pragmatic.

share|improve this answer
1  
'immediately spinning each request off onto its own new thread' - that's not true at all. Single Node process has only one thread, and what happens is that all operations are added to the event queue. Once the only available thread is free, it picks up another job from that queue. That's why we're using callbacks everywhere - node will eventually get to that operation somewhere in the queue and once done the callback will return the result. –  rochal Oct 24 '13 at 0:22
    
@rochal: See rickgaribay.net/archive/2012/01/28/… The belief that node is single-threaded is a common misconception. –  Robert Harvey Oct 24 '13 at 15:46
    
Thanks Robert, very informative article! –  rochal Nov 18 '13 at 5:39
    
Why is this better than having some application server like uWSGI + standard approach? –  clime Nov 27 '13 at 21:09
    
A "standard approach." Is there such a thing? I don't know anything about uWSGI. –  Robert Harvey Nov 27 '13 at 21:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.