title: What is the big deal about asynchronous Javascript?
body: <p>I have just started reading more about what asynchronous programming is all about and would ask if my reasoning below is correct and if it is not what am i misunderstanding?</p>
  
  <p>My understanding is that asynchronous programming is mostly relevant when talking about I/O, this is because the execution of I/O events are handled by some other execution environment for example the operation system, or database. 
  However I could also run two instances of Node.js for example one instance that needs to be highly responsive on which I instantly pass over execution of long running Javascript processes to another Node.js instance where the longer running processes can lock the singel thread and only send back the callback telling the responsive server that the execution was ok? The most common way to create an external execution environment in which to run asynchronous javascript is to start WebWorkers to avoid blocking the single three?
  It is also possible to write asynchronous code that has no positive effect, for example if all my asynchronous code is executed on a singel Node.js instance and not passed away to some other execution environment. This would give me no positive effect and only lead to a much more complicated program logic, all my code would still need to be executed in the same environment?</p>
  
  <p>So in conclusion, asynchronous programming is all about avoiding executing anything in the singel thread, you only want to pass along the actual execution to some other process?</p>
  
  <p>Is my reasoning correct?</p>