Title Idea:
The hidden reason why C# needs configureAwait and JavaScript does not.
Short answer C# uses multi threaded async model while JavaScript uses single threaded async model.
Concurrency is almost as confusing as Monads
Douglas Crockford grasped this fallacy very well:
The monadic curse is that once someone learns what monads are and how to use them, they lose the ability to explain them to other people
Monads have reputation of being something very abstract and very confusing.
The Fallacy of Monad Tutorials
Numerous attempts were made to explain monads in simple definitions; and monad tutorials have become a genre of its own. And yet, times and times again, they fail to enlighten the readers.
https://en.m.wikipedia.org/wiki/Concurrent_computing
concept of concurrent computing is frequently confused with the related but distinct concept of parallel computing although both can be described as "multiple processes executing during the same period of time".
https://en.m.wikipedia.org/wiki/Concurrency_(computer_science)
Concurrency is about structure, parallelism is about execution, concurrency provides a way to structure a solution to solve a problem that may (but not necessarily) be parallelizable.
Title Idea: The hidden reason why C# needs configureAwait and JavaScript does not.
Short answer C# uses multi threaded async model while JavaScript uses single threaded async model.
Concurrency is almost as confusing as Monads
Wrong statements: Highlighted result on google for search: concurrent programming vs asynchronous https://stackoverflow.com/questions/4844637/what-is-the-difference-between-concurrency-parallelism-and-asynchronous-methods#:~:text=Concurrency%20is%20having%20two%20tasks,on%20the%20same%201%20thread. Concurrency is having two tasks run in parallel on separate threads. However, asynchronous methods run in parallel but on the same 1 thread
Confusing definition:
https://en.m.wikipedia.org/wiki/Concurrent_computing concept of concurrent computing is frequently confused with the related but distinct concept of parallel computing although both can be described as "multiple processes executing during the same period of time".
https://en.m.wikipedia.org/wiki/Concurrency_(computer_science) Concurrency is about structure, parallelism is about execution, concurrency provides a way to structure a solution to solve a problem that may (but not necessarily) be parallelizable.