Copenhagen’s sewage system was built in the 1850s and it was indeed considered to build a two-pronged solution. There was much resistance against this because it would eliminate a whole industry of “night men” (poop collectors), as well as people drying and trading it as fertilizer. So they build a single-pronged solution that was initially only allowed to be used for rain water.
Coroutines are great in a single threaded environment. But if you mix them with threads - even behind the scenes - there will be dragons. Erlang solves that problem with proper light weight isolated processes.
In a modern JIT with dynamic decompilation you can do these things in place, because the compiler essentially has global knowledge. The only real issue is to define the semantics (and then implement it of course). Objective-C is AOT compiled so the runtime checks are needed all the time.
It’s easier when you write your application in Elixir or Erlang. Those are practically DSLs for state machines that also double as general purpose programming languages.
Even in Denmark where the political system is much more cooperative than in the US, politics is still a “dirty job” full of spin and personal sacrifice, exposure etc. As a result many good people would never put it on themselves to enter politics.
Netflix only uses amazon for the “control plane” - ie the “web app” you’re navigating when using the Netflix app. The actual delivery of media happens via their own CDN (of bare-metal servers.)
https://ing.dk/artikel/ingenioerer-maatte-kaempe-haardt-faa-...