Promises are about as clean as you can get in a purely async environment.
Yet, notice how no one shows off how easy it is to write a loop. Oh, and what happens when your code throws an exception? It's as though that path halted forever.
Also, what happens when you have a method defined as
result = foo(args);
that now needs to perform an async operation? Enjoy refactoring every call site.
Wait. Let me see if I can summarize: Some teachers somewhere are corrupt and poor at their job, ergo all teachers worldwide should be forbidden from monetizing their hard work???
Let me try out a corollary: Some engineers sometimes wrongly steal code from their employers when they leave for a new job, ergo no software engineers should ever be allowed to work for more than one company.
- Net reduction in quality of housing stock
- Reduces capital investment in housing during a shortage
A+ 10/10 no notes