Reading some comments here and it does confuse me<p>Promises, async and await in javascript, coroutines and threads in kotlin, fibers in some language runtime (including this php 8.1 [0]), single process (nodejs), multi-process(php-fpm worker), single-thread, multi-thread, goroutines in go, multi-core coroutines<p>Googling the definitions and x vs y situation helps a little, the main confusion to me is why some people want this xyz feature in a language runtime and not the other, the pros and cons are seriously so confusing<p>I have probably used several, like promises, async, await, like others said async would be implement on fibers [1] (is php 8.1 implementation same as V8,spidermonkey,javascriptcore? or any other language runtime). And I have tried to understand kotlin coroutines as well<p>modern times to run php, people would use php-fpm with nginx, it is running multiple worker (single) process, so why would anyone [2], [3] wants multi-core coroutines in it? What does it even mean?<p>Writing this out ease my mind a bit yea, need to be able to communicate the confusion instead of just saying "programming is difficult"<p>[0]: <a href="https://news.ycombinator.com/item?id=29343773" rel="nofollow">https://news.ycombinator.com/item?id=29343773</a><p>[1]: <a href="https://news.ycombinator.com/item?id=29344427" rel="nofollow">https://news.ycombinator.com/item?id=29344427</a><p>[2]: <a href="https://news.ycombinator.com/item?id=29344704" rel="nofollow">https://news.ycombinator.com/item?id=29344704</a><p>[3]: <a href="https://news.ycombinator.com/item?id=29345986" rel="nofollow">https://news.ycombinator.com/item?id=29345986</a>