...and Alpa Agarwal, a colleague of mine answered: The Concurrency and Coordination Runtime (CCR) and the Task Parallel Library (TPL) are complementary technologies. TPL, which provides support for imperative data and task parallelism, is well suited for synchronous parallelism and patterns such as parallel
loops. The Concurrency and Coordination Runtime is well suited for orchestrating many asynchronous components and handling asynchronous I/O in a clever manner. Though TPL and CCR may seem slightly redundant on the surface, we encourage you to try our CTP of
Parallel Extensions to the .NET Framework and to provide us with feedback.
It is too early to know at this point if Parallel Extensions to the .NET Framework will be in the base CLR or not. This is an option that we are actively considering. When we firm up on distribution plans, we will be sure to make it known; it is a big
point after all.
Thank you very much for this feedback on the ordering default.
Just to play devil's advocate, your opinion indicates that people will be thinking directly about the differences between sequential and parallel computing. Do you believe that it is in the overall best interest of developers to have to keep these concepts
top of mind and need to consider them while programming? Do you think that it is required for developers to have separate sequential and parallel mindsets?
I bring this up not to argue, but to see what your thinking is around these points. The issues is pretty subtle, after all.