Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> It allows for that

This is like saying C++ allows for templates, and theres a big community around it. Sure, but its the entire community.



Practically speaking: the only libraries I regularly use that demand me to use async stuff are HTTP clients, and those have optional blocking imports. I still need to sprinkle [tokio::main] in front of the entry point, but from that point on, everything is blocking.

I don't think it's "the entire community" at all. Dealing with futures across library calls is a pain and almost every library that can avoid it, will avoid it.

I try to avoid async code because of its annoying pain points and I rarely see any circumstances where spawning a new thread doesn't work. Sure, there's more overhead, and you need some kind of limiting factor to prevent spawning a billion of them, but async isn't really required in most circumstances.

It's like saying Go allows for generics. Very few people and libraries bother with them. Working with them is kind of a pain. They're there jf you want to use them, but you generally don't.


If you're a web facing developer and looking at web services, then I guess you could think this about Rust.

Believe it or not, there's other types of things being built in Rust. Systems work, which I think Rust is more appropriate for.


Almost all Rust libraries just don't deal with concurrency at all.

Maybe async is the most popular concurrency construct there (I have no idea). But the entire population here is small.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: