Конкретно асинхронность может быть либо в самом рантайме языка, либо разработка превратится в филиал ада с постоянным ощупыванием любого кода на предмет "а он точно весь ввод-вывод делает асинхронно? а мы можем (есть ли время, силы и желание) вон ту чужую либу переписать так, чтобы она теперь умела в асинк и коллбеки?" Это реально лютый пздц, когда весь подобный код превращается в худший вариант JavaScript, только ещё исполняется не на движке v8, а на еле живом старичке perl5