Hacker News new | ask | show | jobs
by sseth 3019 days ago
Ryan Dahl wanted to replicate the nginx "async" model for normal web development. Since javascript was single-threaded, it pretty much forced an asynchronous programming model and many of the libraries were already built that way, so it proved to be a fertile ground for experimentation.

In other words, we have node.js and not node.xxx because other languages at that time did not provide a suitable ecosystem for building asynchronous programs. Today most languages have much better async support, or they have features (like goroutines in golang) which achieve the same objective in a different way.

1 comments

Emphasis on ecosystem. I remember working with netty and other platforms that provided async networking years before nodejs got popular and asnyc became "trendy".
Doug Schmidt's C++ Reactor and Sam Rushings Python Medusa did async networking 20 years ago. But in the late 90s and early 2000s a lot of J2EE based server code was built in Java that used one blocking thread per client; that was a major wrong turn in mainstream SW design that took a long time to correct, IMHO.