News for hackers. Stuff that matters.
Re:The Various Kinds of IO – Blocking, Non-Blocking, Multipl... by dom96 on Monday May 07, 2018 @09:14AM (#17012432)
It seems to me that a simple solution to this is to default to using async for everything. That way there is no "colours", everything is a single colour (async) and everybody is happy.

Can you see a problem with this approach?

Re:The Various Kinds of IO – Blocking, Non-Blocking, Multipl... by jtolds on Monday May 07, 2018 @09:16AM (#17012447)
Nope! That's what Go does under the hood... and then eliminates keywords like await/yield and promises, because they're always implicitly there.
Re:The Various Kinds of IO – Blocking, Non-Blocking, Multipl... by jtolds on Monday May 07, 2018 @09:19AM (#17012464)
On Linux, nonblocking IO has not always been great, so under the covers Go often translates calls to actually schedule blocking work on a threadpool somewhere, but from the perspective of the programmer, everything is implicitly using await/yield and promises.