Ask HN: What is Node.js? Framework, VM, stdlib or a platform?
6 comments
Here is a seminar from the edx cs50 series on node:
https://manual.cs50.net/seminars/#_node_js
There's also a bunch of other really good ones
https://manual.cs50.net/seminars/#_node_js
There's also a bunch of other really good ones
Hmmm... Try these tidbits:
NodeJS is a JS interpreter. You can run Node and execute JS code inside it. Node is written in C/C++, like V8, and so it can be compiled for a lot of architectures. You can therefore run JS code "natively" on a machine. Node is single-threaded, event-driven, and can do IO. It's not a framework. It has a set of standard features (just like Python has a standard library) like an HTTP server for example. Frameworks for Node are written in JS and use the standard library to facilitate development of complex apps. Express is a popular Node framework to write web servers.
Need more?
http://en.wikipedia.org/wiki/NodeJS
http://radar.oreilly.com/2011/07/what-is-node.html
http://stackoverflow.com/questions/1884724/what-is-node-js
http://www.makeuseof.com/tag/what-is-node-js-and-why-should-...
NodeJS is a JS interpreter. You can run Node and execute JS code inside it. Node is written in C/C++, like V8, and so it can be compiled for a lot of architectures. You can therefore run JS code "natively" on a machine. Node is single-threaded, event-driven, and can do IO. It's not a framework. It has a set of standard features (just like Python has a standard library) like an HTTP server for example. Frameworks for Node are written in JS and use the standard library to facilitate development of complex apps. Express is a popular Node framework to write web servers.
Need more?
http://en.wikipedia.org/wiki/NodeJS
http://radar.oreilly.com/2011/07/what-is-node.html
http://stackoverflow.com/questions/1884724/what-is-node-js
http://www.makeuseof.com/tag/what-is-node-js-and-why-should-...
Is NodeJS "like V8" or "on V8"?
neither. It just uses v8 to execute the interpreter output which is still javascript code.
V8 converts javascript to machine code, and node.js basically acts as a middle man to add functionality to javascript like "event driven programming" which can't be implemented through a basic framework.
V8 converts javascript to machine code, and node.js basically acts as a middle man to add functionality to javascript like "event driven programming" which can't be implemented through a basic framework.
Are you sure? v8 itself is already event-driven. If not, Chrome wouldn't work event-driven.
Yes Chrome is event driven, but Chrome is a sandbox which limits your I/O capabilities. Node.js on the other hand, is obviusly not a browser, so you can actually do I/Os with the system not only the sandbox.
Actually Node is a well packaged platform-like runtime built mainly upon these : V8, libeio, libuv and others ( DNS, OpenSSL e.g )
What makes it unique is that you use Node Standart Library with Javascript to harness the power of those.
What makes it unique is that you use Node Standart Library with Javascript to harness the power of those.
A tool to build software systems.
http://en.wikipedia.org/wiki/Reactor_pattern#JavaScript
It's an implementation of the Reactor pattern basically.
Sits somewhere between an inflated library and a higher-level framework (since there are packages).
It's an implementation of the Reactor pattern basically.
Sits somewhere between an inflated library and a higher-level framework (since there are packages).
JavaScript is generally NOT interpreted anymore. For the majority of runtime it is running as native code. Node.js is a platform. If you are that confused then you will need to spend a few weeks using it to understand it.
I'm completely confused. Can someone help me to figure it out?