Asynchronized programming seems to be natural in Javascript – it is the “first choice” to do many things.
But in most other programming languages, asynchronization is more like a second choice rather than first choice.
What makes asynchronizated programming so popular and natural to Javascript?
Especially when used in a browser environment, there are no threads (let’s ignore the rather new WebWorkers for now) available – all JS runs in a single thread which is usually the same one that also handles e.g. rendering of the page.
So performing actions in a blocking manner is simply not an acceptable option – especially since most actions that involve IO in JavaScript usually cause network IO which, unlike disk IO, is usually rather slow and thus blocking everything until a request finished is not acceptable.
3