Sometimes the best way to understand pitfalls in one language is to see how another language prevents them. Tomas Petricek, author of Real-World Functional Programming, discusses seven common mistakes found in asynchronous C# code and demonstrates how F# makes them less likely to occur.
Atmosphere 1.0 is a new Java/Scala/Groovy framework that attempts to abstract asynchronous communication between the web browser and the application server. It transparently supports Web Sockets, HTML5 Server Side events and other application server specific solutions when available, with long polling as a fallback.
An updated version of the Async Targeting Pack now provides asynchronous features to Silverlight 4 and Windows Phone 7.5. It also provides Portable Class Libraries targeting any of the supported platforms, including Silverlight 5 and .NET Framework 4.0.
Reactive Extensions 2.0 RC is out and it now supports .NET 4.0 (except few features) along with 4.5. It also has several improvements in the way it deals with time.
Microsoft announced the new Async Targeting Pack for Visual Studio 11 Beta, which will allow developers to use asynchronous programming features in .NET 4 or Silverlight 5 applications. These features were previously provided in the Async CTP, which is now deprecated.
ReSharper 6.1 promises to alleviate many performance problems with ReSharper 6 in Visual Studio 2010. In addition to bugfixes, the pre-release includes new features such as the async/await keywords, an updated settings engine, and experimental support for Visual Studio 11.
Node.js can now run on Windows without Cygwin, the performance being significantly improved both on Windows and UX systems.
Microsoft has released version 1.0 of their Reactive Extensions (Rx) library after two years in incubation. Rx combines event-driven UI with LINQ, concurrency and asynchronous calls.
Alan Berman recently explained the details of how the new Async and Await keywords impact the flow of control. Using these keywords allows an asynchronous function's return values to be processed without using explicitly defined callbacks. This allows for more natural code grouping, as calling and processing of an asynchronous function can occur in the same function.
The new Async CPT for VB and C# looks like it may actually make it into the core language. But with all the emphasis on multi-core systems, why is Microsoft investing so heavily in syntax for designed specifically for making single-threaded asynchronous programming easier?