Looking in Wikipedia (which is not always reliable but is useful for this) multitasking was available beginning about 1964. Even back then, processors were faster than peripheral hardware so the benefits of multitasking was obvious. Not relevant to Microsoft, but I once saw a presentation for Artificial Intelligence programmers about a new way to design software. It was old stuff for other types of programmers. Microsoft's tendency to deliver things to the world is not always good; their focus on Basic instead of superior technology, such as Pascal, is unfortunate. If I had a choice of Basic or COBOL as they existed at the time, COBOL was far superior. If performance was the consideration, Pascal was explicitly designed to show that something better was possible that could perform equivalent to Basic. Most people do not realize how much of what Microsoft developed in their earlier years came from outside Microsoft, such as from IBM and Unix. The one innovation that Microsoft did help with could be dynamic linking. Unix did not have it at the time; I forget if OS/2 did but it probably did. As I mentioned previously, and in the context of UWP, I wonder how much of the async/await mess is unique to Microsoft.