It handles each request in a forked subprocess so it's a lot more straight forward.
It handles each request in a forked subprocess so it's a lot more straight forward.
This statement depends heavily on the runtime environment. Consider either Erlang or fibers as implemented in C/C++, for example.
More info:
You could think of pure functional programming (haskell/ml) as a similar extreme -- Haskell gets a lot of concurrency/parallelism guarantees for free just because of how the language was built (pure functions,etc)... Is it wrong to think that node took a similarly crazy step, but in their case, they weren't able to rebuild the language, and that's what you get?
If I wanted to event-loop, or lightweight thread stuff in python, I'd need some libraries, and many of the ones that you might find are not very easy to learn.