How do Reactive Framework, PLINQ, TPL and Parallel Extensions relate to each other?
At least since the release of .NET 4.0, Microsoft seems to have put a lot of effort in support for parallel and asynchronous programming and it seems a lot of APIs and libraries around this have emerged. Especially the following fancy names are constantly mentioned everywhere lately: Reactive Framework, PLINQ (Parallel LINQ), TPL (Task Parallel Library) and Parallel Extensions. Now they all seem to be Microsoft products and they all seem to target asynchronous or parallel programming scenarios for .NET. But it is not quite clear what each of them actually is and how they are related to each