Node.js is one of the first platforms to clearly expose the distinction between I/O and everything else. I/O is treated differently under the hood and is properly exposed through to platform primitives. When working with Node.js, the programmer is rightly forced to see I/O as a separate class of operation.
In other languages and platforms, you can pass off I/O to separate threads or perform non-blocking I/O, but you have to go out of your way to do this. In Node.js this is a core platform feature and should be embraced.
When it comes to speed, compiled languages may have the benefit of being “closer to the metal”, the JVM may be a highly performant beast, but Node.js is fast because programmers are forced to write fast programs by not introducing blocking I/O to the program flow.