Friday, February 17, 2012

Introduced to node.js

I just finished watching Ryan Dahl's Google Talk on node.js.  Fascinating stuff!

This is not just another web server.  node.js is essentially a JavaScript runtime with easy-to-use network bindings that forces you to write scalable code from the get-go.  There's no thread scheduling, but instead, Ryan wrote an event loop and used non-blocking I/O.  One process can handle ~10k - 30k connections.  Want more?  spawn another node process. :)

Right now, at version 0.6, it's a programming tool more than a platform.  But Ryan is well on his way.  I love the notion of scripting network servers that are out-of-the-box scalable.  (apparently, Yahoo Mail and a host of other sites are using this stuff).

Observations:

  • Ryan worked hard to avoid creating any unnecessary abstractions.
  • He fundamentally conceives of web programming in a pipe-and-filter model.
Notes:
I bumped into a number of libraries that make for a rather rich programming environment, out the gate:

No comments: