TLDR:
He didn't want to use an ecosystem that had existing blocking code. He wanted node to be pure in te sence that nothing was blocking. Starting on a clean slate enabled him to get everything pure non-blocking from the ground up.
He admits that Js isn't the best language. But his rationale for not using an existing ecosystem (when it comes to IO) is not bad.
TLDR: He didn't want to use an ecosystem that had existing blocking code. He wanted node to be pure in te sence that nothing was blocking. Starting on a clean slate enabled him to get everything pure non-blocking from the ground up. He admits that Js isn't the best language. But his rationale for not using an existing ecosystem (when it comes to IO) is not bad.