@jahboater,
Just set the timeout to zero and select() will return immediately (handy to implement polling).
If you do that you now have a loop thrashing around as fasts as possible polling things and burning electricity.
Or you put a delay in your polling loop, which gets us back the upsetting responsiveness of other parts of your program problem and introducing latency.
Select() is a Linux/UNIX system call, I wonder if its possible to strace node and see if its calling select() under the covers
Node.js uses libuv under the hood. The modern way to do asynchronous programming in C in a cross-platform manner. Which in turn uses epoll, kqueue, IOCP, event ports.
@ejolson
Certainly there are a lot of non-technical reasons for language selection. User familiarity, cross-platform support, popularity, availability of useful libraries/modules, ease of taking those libs/modules into use, etc, etc.
For this reason the popularity of JS/node.js is self perpetuating. Since many know that language well, many new programs are creating using that language.
This also explains why a person who knows language X best says the task would be easy in language X.
Quite so. In this case I have made a lot of software in all manner of languages, professionally and otherwise, so I can offer a slightly less biased comparison. Only slightly mind

. People have to pick there own poison at the end of the day.
Memory in C++ is a leaky abstraction .