Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Whenever I read blog posts about a new app that had Node.js involved, bloggers often write "the app was written in node."

But I hardly ever see a phrase going like "the app was written in JavaScript, with the Node.js runtime."

Now I'm beginning to ask whether or not Node.js is merely a runtime, or perhaps the creators are now planning to add more features that JavaScript doesn't offer, or maybe because it's much easier to say "written in Node" rather than "written in JavaScript, but runs on Node."

What's the deal?

share|improve this question

closed as primarily opinion-based by gnat, Snowman, MichaelT, Ixrec, durron597 Jun 28 at 0:46

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.

Node is a server side JavaScript environment. Simple as that. – Josh K Sep 4 '11 at 6:40

3 Answers 3

I wouldn't call it a programming language. It is a framework.

I have heard similar things about building on Zend (PHP) or building on Rails (Ruby). It seems pretty common these days to mention the framework instead of the specific language.

share|improve this answer

It's actually not dissimilar to how people see JQuery - it's a framework, but due to the syntax and the actual 'way' you program things, it looks like it's a language on its own, or a DSL if you're inclined to think of it in that way.

Similarly, you could look at Node like that. Its language is Javascript, but it effectively has its own standard library, with many features that are missing from Javascript in the browser.

A third one would be Flash, which is written in ECMAScript, the same language as Javascript, pretty much.

So you have at least three environments - browser, server, and Flash - with each three different approaches, standard libraries, and possibilities. They're all the same language, but due to the different libraries and sometimes syntaxes and 'thought processes', they may seem to be a different language.

Add to that that programs don't run everywhere - you can't run a NodeJS application in a browser's Javascript runtime, for example, or even a different server-side Javascript runtime - and you could be inclined to see Node-flavored Javascript as its own language. It's not, but it's close.

share|improve this answer

Node.js is an open source, cross-platform runtime environment for server-side and networking applications. Basically the language it is programmed is still javascript but it adds some functionalities to the javascript in which we write our applications. Node.js is not a framework but rather a runtime environment.

It may seem like a framework at first glace, though, because much like a framework, it includes a set of tools useful in building web applications (such as modules for writing to the filesystem or making HTTP requests).

There are, however, a great number of frameworks built for this platform, which provide you with a higher level set of functionality—a level of abstraction to simplify and speed up your construction work.

share|improve this answer

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