Interview with Ryan Dahl, Creator of Node.js
Many are forgetting the initial reason node.js became popular.  Consider the popular server-side landscape before node.js.  It was dominated by Java, Python, etc.  The primary way these ecosystems handle concurrency is OS-level threading.  There was nothing else in the popular languages.  Each language had some niche library that did non-blocking I&#x2F;O (Twisted for Python, Netty for Java), but these all had a critical flaw, which is the rest of the ecosystem didn&#x27;t support it.  Basically every library, almost all existing code used the threading model.  And when you mix threaded libraries with a non-blocking I&#x2F;O server, it completely falls apart because the threaded code blocks.<p>Then came node.js.  Look at the ecosystem it came into.  JS itself has very little standard library, and nothing for I&#x2F;O.  It has a highly optimized VM supported by the resources of Google.  It&#x27;s a language known by many developers.  node.js took this well developed clean slate and built a non-blocking I&#x2F;O server on top of it. It offered a concurrency model on the server side that&#x27;s completely new to many developers, an alternative to the traditional threading model everyone knew.  Since server-side JS didn&#x27;t exist yet, it forced all libraries to be written in this non-blocking way.  Every package in NPM is written to support the core design of node.js which is non-blocking I&#x2F;O.  And it was exciting to many developers, it was a reason to rewrite everything in this new way.