InfoWorld Editor at Large Paul Krill spoke with Dahl at the Joyent-sponsored Node Summit conference, which is being held in San Francisco.
InfoWorld: What's the main benefit?
Dahl: Node does things a bit differently than other programming platforms. The main thing is that it handles I/O very differently, so it doesn't allow the user to lock up the program, ever. It keeps the user handling new things, so it's very useful for network programming. You often are dealing with many people at the same time on your server and you're juggling these different connections. Node encourages the developer to continue to process connections without blocking. And because of this model of handling I/O, users tend to find it easier than developing with a traditional programming language for servers.
InfoWorld: Why is Node catching fire, so to speak?
InfoWorld: Is there an issue with running Node on Windows?
Dahl: Well, the port to Windows is a lot newer than the Unix implementation and does have a couple of bugs. But generally users are using it fine. It tends to be working well. Of course, it'll get better over time.
InfoWorld: Are there any particular advantages of Node as far as platform-as-a-service cloud computing and cloud computing in general?
InfoWorld: How many people are developing with Node? What's the growth rate for Node?
Dahl: It's a bit difficult to quantify, though the way that we usually measure this is by the number of modules that have been deployed with Node or developed with Node. We're currently at about 6,000 modules. These are various modules to connect to Twitter or to parse some random disk format, [for example].
InfoWorld: What would be the ideal situation for Node and where would you not want to use it?
Dahl: Ideally, it's for servers where you're juggling many connections, with a lot of I/O happening in the server. It's not so good for batch jobs where you're doing a bunch of serial tasks and it doesn't really matter how long they take, you're just running them at the end of the day. There it becomes unwieldy due to the non-blocking nature of it.
Read more about application development in InfoWorld's Application Development Channel.