One of the most common misunderstandings in .NET development is the idea that variables of type IEnumerable or ReadOnlyCollection are thread-safe. In order to offer truly thread-safe collections for scenarios where you would be tempted to use IEnumerable or ReadOnlyCollection, Microsoft’s Base Class Library (BCL) team is offering a preview of a new set of immutable collections.
SharpCrafters, makers of the AOP framework PostSharp, have developed a drop-in deadlock detection toolkit. This toolkit works with most standard locking primitives such as Mutex, Monitor, and ReaderWriterLock with only a single line of code added to the project.
Rust is a systems programming language developed by Mozilla and targeted at high performance applications. This post contains an interview with Graydon Hoare, Rust’s creator.
As a programming language, Loop is compact JVM language influenced by Haskell, Scheme, Ruby and Erlang. It also tries to bring together the best features of functional programming and OO languages, in a consistent and pragmatic manner.
The Dutch company Vector Fabrics recently introduced its tool called Pareon. According to the company’s press release, the tool allows to optimize applications for multicore systems.
Go has reached the first major release, Google promising it will be stable for the years to come. YouTube uses Go in their core infrastructure.
WPF 4.5 has improved its support for multi-threaded data binding, but the technique is still risky. This report attempts to explain how it works and what’s involved in using it safely.
It is hard to leverage the parallelism provided by recent processor architectures. As these CPUs are now available even in the low cost price sector, the main challenge of software engineers is to utilize the processors in their applications or apps. The International Conference on Multicore Software Engineering, Performance, and Tools (MSEPT'12) will focus on possible answers.
Microsoft has been working on ways to improve the performance of parallel applications in .NET 4.5, specifically those using the Task Parallel Library. One of most impressive improvements is reducing the overhead for waiting on 100,000 tasks from 12,000,000 bytes to a mere 64 bytes.
Silverlight’s asynchronous service model forces developers to deal with multi-threading from the very beginning. So it seems odd that Microsoft choose to omit the Task Parallel Library, which is the core of .NET’s multi-threading infrastructure. Fortunately there are options.
Keeping up-to-date with software architecture can be a tough endeavor. Information is normally available within thick books or somewhere hidden in the Web. Another more entertaining way can be to watch clips available at video sites such as YouTube and Vimeo.
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.
Microsoft wants to give C++ developers tools for writing parallel applications running on zillions of GPUs/cores locally or in the cloud.
With the increased emphasis on multi-core systems an understanding of parallel and concurrent programming is more important than ever. Fortunately .NET 4 has made a lot of advances in the types of synchronization primitives available to developers. One such primitive is the Barrier, which Emad Omara uses to implement a parallel merge sort.
Akka 1.1 was released with many improvements in performance, Futures and more. The basic Akka also has no dependencies except for Scala 2.9. InfoQ caught up with Jonas Bonér to talk about the current state and the future of Akka.