44 ms·
Ryan Dahl wanted to replicate the nginx "async" model for normal web development. Since javascript was single-threaded, it pretty much forced an asynchronous pr
by sseth 9y 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.
- imtringued 9y agoEmphasis on ecosystem. I remember working with netty and other platforms that provided async networking years before nodejs got popular and asnyc became "trendy".
- osullivj 9y agoDoug 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.