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.

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
    
Node is a server side JavaScript environment. Simple as that. –  Josh K Sep 4 '11 at 6:40

2 Answers 2

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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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