Is NodeJs a language, a framework or a library?

One of the first confusion, which anyone beginning with node.js faces, is that whether its a new language, or is it a framework or is it a library?

Well, actually its none of these.

Node.js is niether a language nor its a framework and also its not a library. Rather, its a run time environment.

Yes, node.js is actually a run time environment which is built over V8 Javascript engine of Chrome, and this is mentioned clearly at the home page of node.js as well.

The way we have runtime environments in Java (called JVM) and .NET (called Common Language Runtime) which are responsible for the execution, similarly, node.js acts a runtime environment for the code written in Javascript. Thus, one can make use of node modules, harnessing the power of non-blocking I/O operations and create code in Javascript finally making this code run in node.js.

Thus, if asked – What is node.js? – one can confidently and clearly reply – Its a Runtime Environment.

Hope this helps.