@jawnsy The issue is that async/await approaches are always dismissed with "now you have a function coloring problem!" and/or a link to the post.
In other words, regardless of authorial intent, other people use the post as a way to argue: "if you do async/await, you have a problem; if you do threads -- whether they're "real" threads or green/virtual/etc. -- you don't have the problem; therefore you shouldn't do async/await and you should do threads".
But when you do threads you most certainly DO have problems. You have monstrously difficult problems that people go and invent things like Rust to try to solve.
The actual trade-off of async/await is that, yes, you have two "colors" of functions with, generally, different calling conventions, but in return for that all the functions in your codebase, and all the places in those functions, which might suspend and resume execution are syntactically marked, making it easy to find them and easier -- compared to any form of threading -- to reason about program execution.
@slightlyoff I think about this quote from https://tailscale.com/blog/new-internet a lot:
> I read a post recently where someone bragged about using kubernetes to scale all the way up to 500,000 page views per month. But that’s 0.2 requests per second. I could serve that from my phone, on battery power, and it would spend most of its time asleep.
Tailscale's CEO, Avery Pennarun, explores the future of the internet, discussing the evolution of networking, the issues with today's complex systems, and how Tailscale is simplifying connectivity for developers with a new, more efficient approach. Discover the vision for a New Internet.
Despite the awfulness happening, I am going to mostly keep posting fun, weird slices of joy because it's important to me that every feed isn't all doom.
But let me be clear: I stand with my trans friends, with my fellow immigrants, for reproductive rights, and with every persecuted minority.