Monday, April 26, 2010

Node.JS

In case you haven’t already heard about Node.JS, here is something cool:

   Node.JS -- the project home

   a presentation about it

   an enthusiastic article about it

Node.js is an “evented I/O framework” built on top of Google’s V8 JavaScript engine. It uses an event-based programming model to (a) provide deadlock-free concurrency, and (b) build a server that can handle many pending requests without the overhead of suspended threads. It’s a bit like the Erlang programming model in JavaScript, although you don't get the same kind of multicore leverage without load balancing or intelligent use of worker processes.

What this gives you is actual high performance in a system that is completely dynamic and malleable (hence my interest). You could be running, eg, Lively Kernel in the client, and writing code in both the client and server and trying them out in real time while everything is running.

My immediate interest is the ability to cobble together a collaboration server for Lively entirely in JavaScript. It should be easy to spawn these nodes like crazy in the cloud if we ever want some scale.

1 comment:

  1. Hi Dan,

    This seems like a step toward an actor system, which is ultimately the right answer. As far as I'm concerned, Hewitt had it right in 1973.

    ReplyDelete