не могут быть достаточно легковесными чтоб всякие async/await не нужно было лепить на уровне ЯП? Или это скорее продукт исторических причин и в теории можно все по-другому сделать?
Нет таких фундаментальных причин. См. Go, Erlang, Haskell (GHC), Pony.
https://www.youtube.com/watch?v=KXuZi9aeGTw&feature=youtu.be
https://kernel.dk/io_uring.pdf к слову, ещё о "легковесном ио" на асинках не в юзерленде (и сразу же: https://github.com/tokio-rs/io-uring )
Обсуждают сегодня