| > non-blocking What is your program going to work on while it waits for the task? Usually nothing. You need to read some data before analyzing it, etc. While you wait the OS can switch to other threads. The only question here is whether you want to return that time to the operating system or to your language runtime. > they’re just hiding the complexity async/await feels helpful because you can write normal code again! If else, for loops, etc. Oh wait that’s also what the UNIX operating system does. It abstracts away all this blocking and context switching so you can write normal code. > If adding async to a function is too much The authors point is a good one. You essentially have two languages and classes of functions. The regular version and the async version. Lots of duplication and a tendency for everything to become async. > a skill issue. I think you don’t understand process scheduling. |