Everyone has heard, “if all you have is a hammer, everything looks like a nail”. It’s an old adage that almost feels like cheap, dime store philosophy; especially in an echo chamber like Twitter where everything is a sound bite. But the cautionary tale it’s so famous for is profound and important to appreciate in the abstract world of software engineering.
Node.js by design is a very sparse platform. It’s primary purpose is to bind javascript to some parts of the operating system. It’s largely doctrine agnostic. And ultimately, users are left wondering where to start when they write a program.
You first need to consider the scope of Node.js. It's much larger than that of a Web Server. Remember, it was made for easily building fast, scalable network applications. And Web Servers are a subset of network applications. Developers are coming from platforms where they spent almost 100% their time inside a Web Server. They want a nail, we can give them that. [